一.题目
把前n(n<=10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次(输出10个整数,分别是0, 1, …, 9出现的次数)
二.思路
题意:输入n,而不是输入123456789
没留意到,以致于写错了
后面改了一下,就不用用到s[100000]数组了
三.代码
#include <stdio.h>
#include<string.h>
int b[10];
int main ()
{
int i=0;
int n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
int tt=i; //避免内层改变外层循环
while(tt!=0)
{
b[tt%10]++; //取出每个位,并增加值
tt=tt/10;
}
}
for(i=0;i<10;i++)
{
printf("%d",b[i]); //每个数组里存自身出现的次数
}
return 0;
}
该博客主要介绍了如何解决一个编程问题,即计算从1到n(n≤10000)所有整数中每个数字0到9出现的次数。作者首先描述了题目要求,然后分享了解题思路,指出最初忽视了输入n而非直接给定数字序列的细节。最后,博客提供了相应的代码实现。
1865

被折叠的 条评论
为什么被折叠?



