输入若干个城市的名称(每个城市名称的长度小于30个字符,城市总数不超过30)。每行输入一个城市,以一行单独输入字符@作为输入结束标志。要求对这些城市按照字典顺序进行排序后输出。
#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;
}
手打不易,对你有帮助的话不妨给个关注呗😁