PTA | 程序设计类实验辅助教学平台 (pintia.cn) 这题要注意的是 因为输入可能有1000位,所以要用字符串存:
我刚开始没注意看题,用int存的:
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
int main()
{
int x=0;cin>>x;
map<int,int> m;
int i=0;
while(x)
{
m[x%10]++;
x/=10;
}
for(auto ch:m)cout<<ch.first<<":"<<ch.second<<endl;
return 0;
}
结果就部分没通过,改了下:
#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
int main()
{
string x;cin>>x;
map<int,int> m;
int i=0;
while(x[i]!='\0')
{
m[x[i]-'0']++;
i++;
}
for(auto ch:m)cout<<ch.first<<":"<<ch.second<<endl;
return 0;
}