hehe030_ 2021-12-12 15:06 采纳率: 100%
浏览 233
已结题

c语言实现多行输入 每行是一个字符串 并以@作为结束输入标志

输入若干个城市的名称(每个城市名称的长度小于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;
    }
    

    img



    手打不易,对你有帮助的话不妨给个关注呗😁

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月12日
  • 已采纳回答 12月12日
  • 创建了问题 12月12日

悬赏问题

  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄