zoukankan      html  css  js  c++  java
  • 寒假作业第二组C题题解

    这道题题意很简单,主要是练习map的使用。看输入有三个数据,水果名,地名,和出现次数。再看输出,很容易想到map<string,int> string是水果,int是次数,那个地名怎么用map呢,想了一下,记得昨天看到了一个嵌套map,应该就是这种情况用了,map<string,map<string,int>>. 还有一个是,对于嵌套map怎么声明迭代器呢,类比二维数组来看,应该是需要两个迭代器才能完成这个工作。 第一个是外层的迭代器,map<string,map<string,int>>::iterator it; 第二个是内层的迭代器,map<string,int>::it1;  对于第二个接待器的开始呢,就是 it->second.begin();

    然后,读字符串进去加次数就好了。看清题,小心PE啊(没看题,pe两发- -|||)

    代码:

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstdio>
     4 #include <map>
     5 #include <string>
     6 #include <vector>
     7 using namespace std;
     8 int main()
     9 {
    10     map<string,map<string,int>> fruit;
    11     char a[1000],b[1000];
    12     int n;
    13     scanf("%d",&n);
    14     while(n--)
    15     {
    16         int m,h;
    17         fruit.clear();
    18         scanf("%d",&m);
    19         for(int i=0;i<m;i++)
    20         {
    21            scanf("%s%s",a,b);
    22            scanf("%d",&h);
    23            fruit[string(b)][string(a)]+=h;
    24         }
    25            map<string,map<string,int>>::iterator it;
    26            map<string,int>::iterator it1;
    27            for(it=fruit.begin();it!=fruit.end();it++)
    28            {
    29                 cout<<it->first<<endl;
    30                 for(it1=it->second.begin();it1!=it->second.end();it1++)
    31                 {
    32                         printf("   |----");
    33                         cout<<it1->first;
    34                         printf("(");
    35                         cout<<it1->second;
    36                         printf(")
    ");
    37                 }
    38            }
    39            if(n)
    40            printf("
    ");
    41     }
    42     return 0;
    43 }
  • 相关阅读:
    JDBC 复习4 批量执行SQL
    JDBC 复习3 存取Oracle大数据 clob blob
    Oracle复习
    Linux命令(1)grep
    JDBC 复习2 存取mysql 大数据
    JDBC 复习1 DBUtil
    php 环境搭建问题
    Windows 批处理 bat 开启 WiFi 菜单选项 设置ID PWD
    Bat 批处理启动和停止Oracle 服务
    docker 学习1 WSL docker ,Windows docker
  • 原文地址:https://www.cnblogs.com/GeniusYang/p/5157312.html
Copyright © 2011-2022 走看看