题目要求如下:
它与字符串排序的区别是输入的字符串中可能有空格,因此不能使用scanf函数的%s
进行读取,因此需要使用gets函数进行读取。
实现代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int char_compare(const void *p1,const void *p2){
char* a = (char*)p1;
char* b = (char*)p2;
return *a-*b;
}
int main() {
char arr[201];
while(gets(arr)){
int len = strlen(arr);
qsort(arr,len,sizeof(char),char_compare);
puts(arr);
}
return 0;
}
这里使用快速排序算法进行排序。