用c语言编写一个程序,对长度为8个字符的字符串,函数这将8个字符按降序( ASCII 码值由大到小)排列。
时间: 2024-11-04 12:14:35 浏览: 9
你可以使用C语言的数组和循环结构来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 比较两个字符的ASCII码值并返回大小
int compare_chars(char a, char b) {
return (a > b) - (a < b);
}
// 对字符串中的字符按照ASCII码值降序排序
void sort_string_descending(char str[9]) {
// 首先检查字符串是否为空或只包含一个字符
if (str[0] == '\0' || str[0] == str[8])
return;
for (int i = 0; i < 7; i++) {
// 使用冒泡排序算法,从第一个字符开始遍历
for (int j = 0; j < 8 - i - 1; j++) {
if (compare_chars(str[j], str[j + 1]) > 0) {
// 如果当前字符比下一个字符大,交换它们的位置
char temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char input[] = "abcdefgh"; // 输入的8字符字符串
printf("Before sorting: %s\n", input);
sort_string_descending(input);
printf("After sorting (descending): %s\n", input);
return 0;
}
```
当你运行这个程序时,输入的字符串"abcdefgh"会被排序成"hdgfecba"。
阅读全文