L1-003 个位数统计 (15 分)
输入格式:
每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。
输出格式:
对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中
出现的次数 M。要求按 D 的升序输出。
输入样例:
100311
输出样例:
0:2
1:3
3:1
下边是代码:(这道题思路是真不难,就是麻烦)
#include<stdio.h>
#include<string.h>
int main()
{
int ling=0,i,t,yi=0,er=0,san=0,si=0,wu=0,liu=0,qi=0,ba=0,jiu=0;
char s[1001];
gets(s);
t=strlen(s);
for(i=0;i<t;i++)
{
if(s[i]=='0')
{
ling++;
}
else if(s[i]=='1')
{
yi++;
}
else if(s[i]=='2')
{
er++;
}
else if(s[i]=='3')
{
san++;
}
else if(s[i]=='4')
{
si++;
}
else if(s[i]=='5')
{
wu++;
}
else if(s[i]=='6')
{
liu++;
}
else if(s[i]=='7')
{
qi++;
}
else if(s[i]=='8')
{
ba++;
}
else if(s[i]=='9')
{
jiu++;
}
}
if(ling!=0)
{
printf("0:%d\n",ling);
}
if(yi!=0)
{
printf("1:%d\n",yi);
}
if(er!=0)
{
printf("2:%d\n",er);
}
if(san!=0)
{
printf("3:%d\n",san);
}
if(si!=0)
{
printf("4:%d\n",si);
}
if(wu!=0)
{
printf("5:%d\n",wu);
}
if(liu!=0)
{
printf("6:%d\n",liu);
}
if(qi!=0)
{
printf("7:%d\n",qi);
}
if(ba!=0)
{
printf("8:%d\n",ba);
}
if(jiu!=0)
{
printf("9:%d\n",jiu);
}
}