L1-003 个位数统计
给定一个整数n,统计每种不同的个位数字出现的次数。例如,给定n=100811,则有2个0,3个1,1个8。
输入格式:
输入在一行中给出一个正整数 N(1<N<231)。
输出格式:
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
思路:
当字符串读入
存入map中
删掉最后一位
输出
代码实现:
#include<bits/stdc++.h>
using namespace std;
string s;
map<int ,int>mp;
int main()
{
cin>>s;
int n = s.length();
for(int i=1;i<=n;i++)
{
int t = s.back()-'0';
mp[t]++;
s.pop_back();
}
for(auto val:mp)
{
cout<<val.first;
cout<<":";
cout<<val.second<<endl;
}
return 0;
}