7-1 个位数字统计 (10 分)
给定一个整数n,统计每种不同的个位数字出现的次数。例如,给定n=100811,则有2个0,3个1,1个8。
输入格式:
输入一个不超过长整型范围的整数n。
输出格式:
对n中每一种不同的各位数字,以 D:M
的格式在一行中输出该位数字 D
及其在 n 中出现的次数 M
。要求按 D
的升序输出。
输入样例:
100811
输出样例:
0:2
1:3
8:1
#include<stdio.h>
int main(){
int n,i;
char a[20];
int b[10];
scanf("%d",&n);
for(i=0;i<10;i++){ //初始化数组
b[i]=0;
}
sprintf(a,"%d",n); //n有可能为负数,用sprintf直接转字符数组
for(i=0;a[i];i++){
if(a[i]-'0'>=0&&a[i]-'0'<=9){
b[a[i]-'0']++;
}
}
for(i=0;i<10;i++){
if(b[i]>0)
printf("%d:%d\n",i,b[i]);
}
}