【GPLT】L1-003【PAT乙级】个位数统计

2019-11-08 16:44:16 浏览数 (1)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/84866400

输入描述:

每个输入包含1个测试用例,即一个不超过1000位的正整数N.

输出描述:

对N中每一种不同的个位数字,以d:M的格式在一行中输出该位数字d及其在N中出现的次数M.要求按d的升序输出。

输入样例:

代码语言:javascript复制
100311

输出样例:

代码语言:javascript复制
0:2
1:3
3:1

解题思路:

首先,根据题意可知这是一道水题,那么问题来了,怎么在写水题的同时秀一波操作呢?额,我用一个map<char, int>来存放出现过的数字并记录下出现的次数,然后用for-each循环来对map进行遍历并输出出现过的数字和出现的次数。

AC代码:

代码语言:javascript复制
#include <bits/stdc  .h>
using namespace std;
 
int main()
{
    string N;   
    cin >> N;
    //用map来统计不同的各位数字出现的次数
    map<char,int> m;   
    for(auto it:N)    
    {
        m[it]  ;
    }
    for(auto it:m)   //for-each输出所有的出现过的数字及其出现次数
    {
       cout << it.first << ":" << it.second << endl;
    }
    return 0;
}

0 人点赞