7-1 字符排队 分数 15 作者 颜晖 单位 浙大城市学院 本题要求编写程序,将给定字符串中的字符,按照ASCII码顺序从小到大排序后输出。 输入格式: 输入是一个以回车结束的非空字符串(少于80个字符)。 输出格式: 输出排序后的结果字符串。 c语言
时间: 2024-03-24 12:38:14 浏览: 524
好的,以下是使用C语言实现快速排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
void quick_sort(char s[], int left, int right) {
if (left >= right) {
return;
}
int i = left, j = right;
char pivot = s[left];
while (i < j) {
while (i < j && s[j] >= pivot) {
j--;
}
s[i] = s[j];
while (i < j && s[i] < pivot) {
i++;
}
s[j] = s[i];
}
s[i] = pivot;
quick_sort(s, left, i - 1);
quick_sort(s, i + 1, right);
}
int main() {
char s[80];
fgets(s, 80, stdin);
s[strcspn(s, "\n")] = '\0'; // 去掉输入字符串末尾的换行符
int len = strlen(s);
quick_sort(s, 0, len - 1);
printf("%s\n", s);
return 0;
}
```
以上代码中,我们使用了快速排序算法来对字符串进行排序。输入使用了fgets函数,可以读取一整行字符串,避免因输入字符个数不足80个而出现错误。最后输出使用了printf函数。
阅读全文