用c语言写一段代码在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。
时间: 2024-02-12 11:06:12 浏览: 62
下面是一种实现方式:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LEN 100 // 字符串最大长度
void sort_strings(char *strings[], int n);
int main()
{
char *strings[10];
int i;
printf("Please input 10 strings:\n");
for (i = 0; i < 10; i++) {
strings[i] = (char *)malloc(MAX_LEN * sizeof(char));
scanf("%s", strings[i]);
}
sort_strings(strings, 10);
printf("Sorted strings:\n");
for (i = 0; i < 10; i++) {
printf("%s\n", strings[i]);
free(strings[i]);
}
return 0;
}
void sort_strings(char *strings[], int n)
{
int i, j;
char *temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp;
}
}
}
}
```
主函数中先输入10个字符串,使用动态内存分配来存储它们,然后调用 `sort_strings` 函数对这些字符串进行排序,最后输出排序后的结果。`sort_strings` 函数使用冒泡排序的方法,比较相邻两个字符串的大小,如果前面的字符串大于后面的字符串则交换它们的位置。
阅读全文