题目描述 输入n个城市的名称,进行升序排序并输出。输入要求 第一行输入一个整数n,表示有n个城市,n不超过100。接着输入n个字符串,每个字符串代表一个城市名,一个字符串内部不包含空格,字符串长度不超过100。输出要求 输出排序后的城市名字。每个城市名占据一行。 c语言
时间: 2024-02-26 18:59:12 浏览: 117
好的,以下是使用冒泡排序算法解决该问题的 C 代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
int n;
char cities[100][100];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", cities[i]);
}
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (strcmp(cities[j], cities[j+1]) > 0) {
char temp[100];
strcpy(temp, cities[j]);
strcpy(cities[j], cities[j+1]);
strcpy(cities[j+1], temp);
}
}
}
for (int i = 0; i < n; i++) {
printf("%s\n", cities[i]);
}
return 0;
}
```
这个代码中,我们首先读入整数 n,表示城市数量。然后使用一个二维字符数组 cities 来存储 n 个城市名。接下来我们使用冒泡排序算法对这个数组进行排序。最后,我们遍历排序后的数组,并将每个城市名打印出来。需要注意的是,我们使用 strcmp() 函数来比较两个字符串的大小关系。
阅读全文