编写程序,从键盘输入5个城市的名字(Wuhan, Beijing,Shanghai,Tianjin, Guangzhou),运用字符指针数组对一组城市名进行升序排列,并把排序结果输出在屏幕上。
时间: 2024-03-01 21:51:42 浏览: 61
好的,这是一个简单的字符串排序程序,可以参考一下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CITY_NUM 5
#define MAX_CITY_NAME_LEN 20
void sort_cities(char* cities[], int n) {
int i, j;
char* tmp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(cities[i], cities[j]) > 0) {
tmp = cities[i];
cities[i] = cities[j];
cities[j] = tmp;
}
}
}
}
int main() {
char cities[MAX_CITY_NUM][MAX_CITY_NAME_LEN];
char* city_ptrs[MAX_CITY_NUM];
int i;
printf("请输入%d个城市的名字:\n", MAX_CITY_NUM);
// 读取城市名
for (i = 0; i < MAX_CITY_NUM; i++) {
scanf("%s", cities[i]);
city_ptrs[i] = cities[i];
}
// 排序
sort_cities(city_ptrs, MAX_CITY_NUM);
// 输出排序结果
printf("排序结果:\n");
for (i = 0; i < MAX_CITY_NUM; i++) {
printf("%s\n", city_ptrs[i]);
}
return 0;
}
```
程序中使用了一个字符指针数组 `city_ptrs` 来保存城市名的指针,然后通过 `strcmp` 函数比较字符串大小,并用一个简单的选择排序算法进行排序。最后输出排序结果。
阅读全文