编程C语言:7-7 字符串排序 分数 10 作者 cx 单位 福州大学至诚学院 输入n个字符串(n<=10,每个字符串长度均小于20),按照从小到大的顺序输出这些字符串。 输入格式: 第一行输入一个整数n;接下来的n行输入n个字符串。 输出格式: 输出n个字符串,每行1个串。 输入样例: 在这里给出一组输入。例如: 5 China Mongolia Korea Japan Philippines 输出样例: 在这里给出相应的输出。例如: China Japan Korea Mongolia Philippines
时间: 2024-02-28 19:57:50 浏览: 166
c语言输出字符串中最大对称子串长度的3种解决方案
这道题可以用字符串数组和strcmp函数实现。具体实现过程如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_N 10
#define MAX_LEN 20
int main() {
int n;
char str[MAX_N][MAX_LEN];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", str[i]);
}
for (int i = 0; i < n - 1; i++) {
for (int 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);
}
}
}
for (int i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
首先读入n和n个字符串,然后使用双重循环进行字符串的比较和交换,最后输出排序后的字符串数组。在比较字符串大小时,使用了strcmp函数,该函数返回值为0表示两个字符串相等,返回值小于0表示第一个字符串小于第二个字符串,返回值大于0表示第一个字符串大于第二个字符串。
阅读全文