2301_78121412 2024-02-03 19:27 采纳率: 50%
浏览 30
已结题

排序国家英文名字c++

输入一些国家的英文名字,以end作为输入结束标志,按字典顺序排序后输出。

输入
有若干行,每行有一个国家的英文名字,最后一行为“end”(国家数最多不超过100个)。
输出
有若干行,每行一个国家的英文名字。

输入样例:
China
Japan
America
Canada
end
输出样例:
America
Canada
China
Japan
这个end结束怎么做到的,网上找不到,要用一维数组(不能二维)

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-02-03 22:14
    关注

    【以下回答由 GPT 生成】

    #include <iostream>
    #include <string>
    #include <algorithm>
    
    int main() {
        const int MAX_COUNTRIES = 100;
        std::string countries[MAX_COUNTRIES];
        std::string country;
    
        int count = 0;
        while (std::cin >> country) {
            if (country == "end") {
                break;
            }
            countries[count] = country;
            count++;
            if (count == MAX_COUNTRIES) {
                break;
            }
        }
    
        std::sort(countries, countries + count);
    
        for (int i = 0; i < count; i++) {
            std::cout << countries[i] << std::endl;
        }
    
        return 0;
    }
    

    该程序使用了一维数组 countries 存储输入的国家名字,并使用变量 count 记录输入的国家个数。在输入时,如果输入的字符串是 "end",则跳出循环。如果数组已满或输入到达最大数量上限,则同样跳出循环。

    然后,程序使用 std::sort 函数对数组 countries 进行排序,排序结果按照字母顺序。

    最后,使用循环将排序后的国家名字依次输出。每个国家名字后面添加换行符以进行换行输出。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月9日
  • 创建了问题 2月3日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境