weixin_45655254
LHX?
采纳率57.1%
2019-11-01 19:38 阅读 656

C++ OJ题数字统计 求解

题目描述

给出一个字符串S(S仅由’0’~’9’组成,且不包含空格,长度≤100),请将其各个数字按个数打印出,并且输出各个数字之和。

输入

第一个行整数N为测试数据组数。接下来N行为S。

输出

如果数字i(0≤i≤9)出现的次数大于0则输出i : Ai (Ai为i出现的次数),并在末尾输出S中各个数字的和,每组输出结束后空一行。(最后一组数据后无空行)。

样例输入

2

0012

13588

样例输出

0:2

1:1

2:1

3

1:1

3:1

5:1

8:2

25

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • li_jeremy li_jeremy 2020-03-05 12:47

    题主可以考虑使用map,具体的输入输出可以自己修改,下面是具体的思路。

    string s;
    cin>>s;
    map<char,int>m;
    for(int i=0;i<s.length();i++){
        m[s[i]]++;
    }
    map<char,int>::iterator it;
    for(it=m.begin();it!=m.end();it++){
        cout<<it->first<<":"<<it->second<<endl;
    }
    
    点赞 1 评论 复制链接分享
  • xianfajushi 智者知已应修善业 2019-11-02 08:39
    点赞 评论 复制链接分享

相关推荐