以下是一个示例C程序,按字母顺序排列了字符数组,然后通过比较数组元素的ASCII值,判断数组是否按字母顺序排列。
#include
#include
#include
bool isSorted(char arr[], int size) {
for (int i = 0; i < size - 1; i++) {
if (arr[i] > arr[i + 1]) {
return false;
}
}
return true;
}
int main() {
char arr[] = "cba"; // 输入需要检查的字符数组
int size = strlen(arr);
printf("原始数组: %s\n", arr);
// 按字母顺序排列数组
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (arr[i] > arr[j]) {
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
printf("按字母顺序排列后的数组: %s\n", arr);
// 判断数组是否按字母顺序排列
if (isSorted(arr, size)) {
printf("数组按字母顺序排列。\n");
} else {
printf("数组不按字母顺序排列。\n");
}
return 0;
}
该程序首先输出原始数组,然后使用冒泡排序算法按字母顺序排列数组,并输出排序后的数组。最后,使用isSorted函数判断数组是否按字母顺序排列,并输出结果。