给定一个n,求1~n中,0~9出现的次数。
# include <stdio.h>
# include <string.h>
void main()
{
int n,n1,i,j;
inta[10000],a1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0,a10=0;
scanf(“%d”,&n);
while(n)
{
memset(a,0,1000);
i=0;
if(n%10==0)
{
a1++;
n1=n;
n1=n1/10;
while(n1)
{
a[i++]=n1%10;
n1=n1/10;
}
for(j=0;j<i;j++)
{
switch(a[j])
{
case 0:a1++; break;
case 1:a2++; break;
case 2:a3++; break;
case 3:a4++; break;
case 4:a5++; break;
case 5:a6++; break;
case 6:a7++; break;
case 7:a8++; break;
case 8:a9++; break;
case 9:a10++;break;
}
}
}
else
{
n1=n;
while(n1)
{
a[i++]=n1%10;
n1=n1/10;
}
for(j=0;j<i;j++)
{
switch(a[j])
{
case 0:a1++; break;
case 1:a2++; break;
case 2:a3++; break;
case 3:a4++; break;
case 4:a5++; break;
case 5:a6++; break;
case 6:a7++; break;
case 7:a8++; break;
case 8:a9++; break;
case 9:a10++;break;
}
}
}
n–;
}
printf(“%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d”,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
}