用C语言编写程序。题目描述 在main函数中输入10个不等长的字符串,另外写一个函数对它们按字典序从小到大排序。并在main函数中输出这10个已经排好序的字符串。 输入 共有10行,每行一个字符串。输入保证每行的字符串长度不超过100个字符。请注意字符串中有可能包含空格。 输出 与输入格式相同,每行输出一个排好序之后的字符串。 请注意行尾输出换行。 样例输入 String DDD String Ee string AA String CCCCC string GG string jJj String IiiIII String h string fFf String BBbb 样例输出 String BBbb String CCCCC String DDD String Ee String IiiIII String h string AA string GG string fFf string jJj
时间: 2023-06-08 15:05:26 浏览: 190
以下是使用C语言编写程序对10个字符串按字典序从小到大排序的代码:
#include <stdio.h>
#include <string.h>
void sort(char str[][101], int n);
int main() {
char str[10][101];
int i;
for(i=0; i<10; i++) {
scanf("%[^\n]s", str[i]);
getchar();
}
sort(str, 10);
for(i=0; i<10; i++) {
printf("%s\n", str[i]);
}
return 0;
}
void sort(char str[][101], int n) {
int i, j;
char temp[101];
for(i=0; i<n-1; i++) {
for(j=i+1; j<n; j++) {
if(strcmp(str[i], str[j])>0) {
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
}
输入10个字符串后,使用sort()函数对字符串进行排序,然后输出已排序的字符串。函数sort()使用了选择排序,依次比较字符串,找到较小的字符串放在前面。注意,为了避免scanf()在输入字符串时因为空格而结束,我们使用“%[^\n]s”格式,表示输入除了换行符以外的所有字符,直到遇到换行符才结束输入。同时,使用getchar()扫描并处理换行符。
阅读全文