用c语言写一段代码在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。
时间: 2024-02-12 08:02:32 浏览: 32
好的,以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 假设字符串最大长度为100
void sort_strings(char strings[][MAX_LEN], int n);
int main() {
char strings[10][MAX_LEN];
int i;
printf("请输入10个等长的字符串:\n");
for (i = 0; i < 10; i++) {
scanf("%s", strings[i]);
}
sort_strings(strings, 10);
printf("排序后的字符串:\n");
for (i = 0; i < 10; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
void sort_strings(char strings[][MAX_LEN], int n) {
int i, j;
char temp[MAX_LEN];
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
strcpy(temp, strings[i]);
strcpy(strings[i], strings[j]);
strcpy(strings[j], temp);
}
}
}
}
```
主函数中先定义一个二维字符数组`strings`,用于存放输入的10个字符串。然后用`scanf`函数逐个输入字符串。
排序函数采用冒泡排序的方法,将字符串按字典序从小到大排序。最后在主函数中输出排序后的字符串即可。