输入若干个城市的名称(每个城市名称的长度小于30个字符,城市总数不超过30)。每行输入一个城市,以一行单独输入字符@作为输入结束标志。要求对这些城市按照字典顺序进行排序后输出。
1条回答 默认 最新
- 我叫RT 2021-12-12 15:14关注
#include <stdio.h> #include <string.h> // 字符串比较函数 int cmp(const void * a,const void *b) //qsort库要求参数const { return strcmp((char *)a,(char *)b) ; //字典序从小到大 } int main() { char str[31][128] = {""}; // 输入 int i = 0; while(scanf("%s", str[i++]) != EOF) { if(strncmp(str[i-1],"@",1) == 0) { i -= 1; break; } } // 排序 qsort(str, i, sizeof(str[0]), cmp); // 输出 for(int j = 0; j < i; j++) { printf("[%d] = %s\n", j, str[j]); } return 0; }
手打不易,对你有帮助的话不妨给个关注呗😁
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用