个位数统计
给定一个 k 位整数 N=d >0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。
C++代码
#include<iostream>
#include<cstring>
using namespace std;
int main(){
string n;
cin>>n;
char arr[1001]; //边界保留
int arr2[10]={0}; //初值为0
strcpy(arr,n.c_str()); //string转char[]
// cout<<n.length()<<" "<<size(arr2)<<endl;
for(int i=0;i<(int)n.length();i++){
int x = arr[i]-'0';
arr2[x]++; //采用hash思想用数组下标记录数值
// cout<<x;
}
for(int i=0;i<size(arr2);i++){
if(arr2[i]>0){
cout<<i<<":"<<arr2[i]<<endl;
}
}
}