c语言编程 给定一个自然数N(1≤N≤1000),统计出所有不超过N的正整数中数字0到9出现的次数

c语言编程 给定一个自然数N(1≤N≤1000),统计出所有不超过N的正整数中数字0到9出现的次数,并且依次打印出来每个数字出现的次数(0~9),相邻两个数字用一个空间隔开。
输入输出样立1
样例输入:10
样例输出1 2 1 1 1 1 1 1 1 1 1
解释:在1到10中,只有数字1在整数1和10中重复出现了两次。其他数字都只出现了一次
输入输出样例2:
样例输入:100
样例输出:11 21 20 20 20 20 20 20 20 20

要求运行内存上限2M

/*c语言编程 给定一个自然数N(1≤N≤1000),统计出所有不超过N的正整数中数字0到9出现的次数,并且依次打印出来每个数字出现的次数(0~9),相邻两个数字用一个空间隔开。
输入输出样立1  
样例输入:10
样例输出1  2  1  1  1  1  1  1  1  1  1 
解释:在1到10中,只有数字1在整数1和10中重复出现了两次。其他数字都只出现了一次
输入输出样例2:
样例输入:100
样例输出:11 21 20 20 20 20 20 20 20 20

要求运行内存上限2M*/
int fun(int i,int a[])
{
while(i)
{
a[i%10]++;
i/=10;
}
}
#include<stdio.h>
main()
{
int n,i;
int a[10]={0};
scanf("%d",&n);
for(i=n;i>0;i--)
{
fun(i,a);
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}

已完成 不懂可问

追问

你好厉害啊

温馨提示:答案为网友推荐,仅供参考
相似回答