问题描述
给定一个不超过10 位的非负整数 N,请编写程序统计该整数各个数位上不同数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。
输入说明
输入是一个不超过 10位的非负整数 N。
输出说明
对 N 中每一种不同的数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数M,要求按D 的升序输出。
输入样例
100311
输出样例
0:2
1:3
3:1
#include#include #include #include int main() { int N, a[10]={0}, t; int i, j, len; scanf("%d", &N); for(i=0;N!=0;i++){ a[i]=N%10;; N/=10; t=i; } int cnt[10]={0}; for(i=0;i<=t;i++){ switch(a[i]) { case 0 : cnt[0]++; break; case 1 : cnt[1]++; break; case 2 : cnt[2]++; break; case 3 : cnt[3]++; break; case 4 : cnt[4]++; break; case 5 : cnt[5]++; break; case 6 : cnt[6]++; break; case 7 : cnt[7]++; break; case 8 : cnt[8]++; break; case 9 : cnt[9]++; break; } } for(i=0;i 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)