用c语言写出输入若干个字符串,按字典顺序排列后输出。
时间: 2024-03-21 10:43:30 浏览: 96
好的,以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NUM 100 // 最大字符串数量
#define MAX_LEN 80 // 最大字符串长度
int main() {
char str[MAX_NUM][MAX_LEN]; // 定义二维字符数组,用于存储若干个字符串
int n, i, j;
printf("请输入字符串数量(不超过%d个):", MAX_NUM);
scanf("%d", &n);
// 读入n个字符串
printf("请依次输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
}
// 冒泡排序,按字典顺序排列字符串
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(str[i], str[j]) > 0) {
char temp[MAX_LEN];
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
// 输出排列后的字符串
printf("排列后的字符串为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
这段代码首先定义一个二维字符数组`str`,用于存储若干个字符串,同时定义常量`MAX_NUM`和`MAX_LEN`分别表示最大字符串数量和最大字符串长度。然后从标准输入读入字符串数量`n`,再依次读入`n`个字符串。
接着使用冒泡排序算法,按字典顺序排列字符串。最后输出排列后的字符串。
希望能够帮助到你!
阅读全文