c语言对输入的6行字符串按照从小到大的顺序排列(可以调用strcmp比较),最后输出排序后的字符串
时间: 2023-06-10 14:03:10 浏览: 89
好的,我理解了你的要求,下面是可以实现这个功能的C语言代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 6
#define MAX_LEN 100
int main() {
char str[MAX_SIZE][MAX_LEN];
int i, j;
char temp[MAX_LEN];
// 输入字符串
printf("请输入%d行字符串:\n", MAX_SIZE);
for (i = 0; i < MAX_SIZE; i++) {
fgets(str[i], MAX_LEN, stdin);
}
// 冒泡排序
for (i = 0; i < MAX_SIZE - 1; i++) {
for (j = 0; j < MAX_SIZE - i - 1; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
strcpy(temp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1], temp);
}
}
}
// 输出排序后的字符串
printf("按照从小到大的顺序排列后的字符串为:\n");
for (i = 0; i < MAX_SIZE; i++) {
printf("%s", str[i]);
}
return 0;
}
```
你可以输入六行任意字符串,程序会按照字符串的字典序进行排序,并最终输出排好序的字符串。请注意,此处要用 `fgets` 而不是 `scanf` 来读入字符串,因为后者无法读取空格。
阅读全文