统计1到n,所有数字中,0,1,....,9出现的次数。
额,这个问题简单。
#include<stdio.h>
int main()
{
int n,i,q,r,t,now,a[10];
while (scanf("%d",&n)==1)
{
for (i=0;i<=9;i++)
a[i]=0;
t=10;
while (n/t!=0)
{
r=n%t;
q=n/t;
now=r*10/t;
for (i=0;i<=9;i++)
a[i]=a[i]+q*t/10;
for (i=0;i<now;i++)
a[i]=a[i]+t/10;
a[now]=a[now]+r%(t/10)+1;
t=t*10;
}
now=n*10/t;r=n;
for (i=1;i<now;i++)
a[i]=a[i]+t/10;
a[now]=a[now]+r%(t/10)+1;
if (a[0]>0) a[0]--;
for (i=0;i<=9;i++)
printf("%d\n",a[i]);
}
}
编程啊,要养成好习惯啊,先设计好算法,再上机敲代码才行啊。不然,全乱了。