PTA | 1021 个位数统计 分数 15 字符串

85 阅读1分钟

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;
}