习题---数数字

一.题目
把前n(n<=10000)个整数顺次写在一起:123456789101112…数一数0~9各出现多少次(输出10个整数,分别是0, 1, …, 9出现的次数)

二.思路
题意:输入n,而不是输入123456789
没留意到,以致于写错了
后面改了一下,就不用用到s[100000]数组了

三.代码

#include 
#include
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;
}

你可能感兴趣的:(练习练习)