#include<stdio.h> #include<string.h> int main() { char city[5][20],city1[20]; int i,j; for(i=0;i<5;i++) { scanf("%s",&city[i]); } for(i=1;i<5;i++) { for(j=0;j<5-i;j++) { if(strcmp(city[j],city[j+1]>0)) { strcpy(city1,city[j]); strcpy(city[j],city[j+1]); strcpy(city[j+1],city1); } } } for(i=0;i<5;i++) { printf("%s\n",city[i]; } return 0; }
时间: 2024-03-04 21:53:35 浏览: 79
#include<stdio.h>
这是一个使用冒泡排序对字符串数组进行排序的程序,其中city是一个二维字符数组,用于存储5个城市的名称,city1是一个字符数组,用于进行字符串交换操作。程序的执行流程如下:
1. 初始化city和city1数组,以及i和j变量。
2. 使用for循环输入5个城市的名称,将城市名称存储到city数组中。
3. 使用两层for循环对city数组进行冒泡排序,即比较相邻的两个城市名称字符串,如果前面的字符串比后面的字符串大,则进行字符串交换操作。
4. 使用for循环输出排好序的城市名称。
注意事项:程序中有一个语法错误,即第三个for循环中printf函数的语句缺少右括号。正确的语句应该是 printf("%s\n",city[i]);。另外,scanf函数中不需要使用&符号获取字符串,因为字符串本身就是一个字符数组,而不是一个字符变量。
阅读全文