给出一个K位的整数(k<100),请编写程序统计每种不同的数字出现的次数。例如,给定N=100311,则有2个0,3个1 ,1个3。对N中每一种不同的数字,以D:M的形式在一行中输出,要求D按照升序输出。
【示例】
【输入】
100311
【输出】
0:2
1:3
3:1
刚学数组不要太复杂
#include <stdio.h>
int main()
{
int n;
int num[10] = {0};
scanf("%d", &n);
while (n != 0) {
num[n % 10]++;
n = n / 10;
}
for (int i = 0; i < 10; i++)
{
if (num[i]!=0)
{
printf("%d:%d\n",i,num[i]);
}
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
char t[100];
gets(t);
int len=strlen(t);
int j,num[100]={0};
for( j=0; j<len ; j++)
{
int tem=t[j]-48;
num[tem]++;
}
for( j=0; j<len ; j++)
{
if(num[j]>0)
printf("%d:%d\n",j,num[j]);
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char str[100];
int fre[10] = {0};
gets(str);
for(i = 0;i < strlen(str);i++){
fre[str[i] - '0'] ++;
}
for (int i = 0; i < 10; i++)
{
if (fre[i] > 0)
{
printf("%d:%d\n", i, fre[i]);
}
}
return 0;
}