给定一个 k 位整数 1 (0, ,, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 0,则有 2 个 0,3 个 1,和 1 个 3。
输入格式:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式:
对 N 中每一种不同的个位数字,以 D:M
的格式在一行中输出该位数字 D
及其在 N 中出现的次数 M
。要求按 D
的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
1 #include<stdio.h> 2 #include<cstdio> 3 #include<iostream> 4 #include<string> 5 using namespace std; 6 7 int main(){ 8 string N; //注意是1000位的整数,不是小于1000的整数,所以用字符串 9 int temp; 10 cin>>N; 11 int num[10]={0}; //注意数组越界的问题,定义的是n,但是访问的是0-(n-1) 12 for(int i=0;i<N.length();i++){ 13 temp=N[i]-'0'; 14 num[temp]++; 15 } 16 for(int i=0;i<=9;i++){ 17 if(num[i]!=0){ 18 cout<<i<<':'<<num[i]<<endl; 19 } 20 } 21 return 0; 22 }