统计1-788的自然数中出现的0-9的个数
int fun(int i,int a[])
{
while(i)
{
a[i%10]++;
i/=10;
}
}
#include<stdio.h>
main()
{
int i;
int a[10]={0};
scanf("%d",&n);
for(i=788;i>0;i--)
{
fun(i,a);
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
如有帮助,采纳支持一下,谢谢。
#include<stdio.h>
/*
统计1-788的自然数中出现的0-9的个数
*/
void main()
{
int num[10] = {0};
for (int i = 1; i < 789; i++)
{
if (i<10)
{
num[i]++;
}
else if (i<100)
{
num[i % 10]++;
num[i / 10]++;
}
else {
num[i % 10]++;
num[i / 10 % 10]++;
num[i / 100]++;
}
}
for (int i = 0; i < 10; i++)
{
printf("%d\n",num[i]);
}
}
不需要数组啊,一个循环就搞定的啊