数1的个数

 

描述:

给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。

例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。


输入:

正整数n。1 <= n <= 10000。

输出:

一个正整数,即“1”的个数。


样例输入:

12

样例输出:

5

算法:

#include <stdio.h>

int main(){
    int n,m;
    scanf("%d", &n);
    m=n;
    int i,sum=0;
    for(i=1;i<=n;i++)  //从1到n开始遍历
    {
        m=i;           
       while(m>0)
        {
            if(m%10==1)     //循环分离最后一位
                sum++;
            m/=10;         //m<10则跳出循环
        }
    }
    printf("%d\n",sum);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/zxdspaopao/article/details/84672375