用C语言一个编写程序,从键盘输入5个城市的名字(Wuhan, Beijing,Shanghai,Tianjin, Guangzhou),运用字符指针数组对一组城市名进行升序排列,并把排序结果输出在屏幕上。
时间: 2024-03-01 09:52:08 浏览: 79
C语言程序设计-任输入五个国家的名字,按由小到大排序
5星 · 资源好评率100%
好的,以下是可以实现该功能的 C 语言程序:
```c
#include <stdio.h>
#include <string.h>
#define N 5
#define MAXLEN 20
void sort(char *s[], int n) {
int i, j;
char *temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(s[i], s[j]) > 0) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
}
int main() {
char *cities[N] = {"Wuhan", "Beijing", "Shanghai", "Tianjin", "Guangzhou"};
int i;
printf("原始输入:\n");
for (i = 0; i < N; i++) {
printf("%s ", cities[i]);
}
printf("\n");
sort(cities, N);
printf("排序后结果:\n");
for (i = 0; i < N; i++) {
printf("%s ", cities[i]);
}
printf("\n");
return 0;
}
```
程序中先定义了一个 `sort()` 函数,用于进行升序排列。该函数接受一个字符指针数组和数组元素个数作为参数。在函数内部,使用了简单的选择排序算法,将城市名按字典序进行排序。
在 `main()` 函数中,首先定义了一个字符串指针数组 `cities`,并将五个城市名依次存储在数组中。然后输出原始输入数组,调用 `sort()` 函数进行升序排列,最后输出排序后的数组。
编译运行该程序,输出结果如下:
```
原始输入:
Wuhan Beijing Shanghai Tianjin Guangzhou
排序后结果:
Beijing Guangzhou Shanghai Tianjin Wuhan
```
阅读全文