c语言:从键盘输入一个字符串,用冒泡法对该字符串中的字符由大到小进行排序,并输出结果。
时间: 2024-02-01 16:14:35 浏览: 79
去掉重复的字符串及在第一个字符串中删除在第二个字符串中出现的字符
以下是冒泡排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void bubble_sort(char str[], int n) {
int i, j;
char temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (str[j] < str[j + 1]) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int n = strlen(str);
bubble_sort(str, n);
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
代码解释:
1. `bubble_sort` 函数实现冒泡排序,它接受两个参数:待排序的字符串和字符串长度。
2. 内层循环用于比较相邻的字符,如果前面的字符比后面的字符 ASCII 码小,则交换它们的位置,以此实现从大到小排序。
3. 在主函数中,先用 `scanf` 函数从键盘输入字符串,然后调用 `strlen` 函数获取字符串长度,最后调用 `bubble_sort` 函数进行排序,最终输出排序后的字符串。
阅读全文