m0_73661126 2022-09-10 23:26 采纳率: 100%
浏览 34
已结题

文档编辑问题:按三级标号自动排序

3.1.3 饭店服务员张三
勤奋踏实关注
2.1.1 导航天天提高
多少大学高度吹吹风
是什么意思
3.1.2 需要将标号下的多行字一起按编号排序
能自动排序
自动排版后成为:
2.1.1导航天天提高
多少大学高度吹吹风
是什么意思
3.1.2 需要将标号下的多行字一起按编号排序
能自动排序
3.1.3 饭店服务员张三
勤奋踏实关注

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-09-11 06:42
    关注
    #include <iostream>
    #include <map>
    #include <sstream>
    #include <string>
    #include <tuple>
    
    int main() {
      std::string line;
      std::map<std::tuple<int, int, int>, std::string> map;
      std::tuple<int, int, int> key;
      while (std::getline(std::cin, line)) {
        int a, b, c;
        char d1, d2;
        std::istringstream ss(line);
        if ((ss >> std::noskipws >> a >> d1 >> b >> d2 >> c) && (d1 == '.') &&
            (d2 == '.')) {
          key = std::make_tuple(a, b, c);
          map[key] = line + '\n';
        } else {
          map[key] += line + '\n';
        }
      }
      for (auto itr = map.begin(); itr != map.end(); itr++)
        std::cout << itr->second;
      return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 已采纳回答 9月11日
  • 修改了问题 9月10日
  • 创建了问题 9月10日