Description
给定一个十进制正整数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”。
Input
正整数n。1 <= n <= 10000。
Output
一个正整数,即“1”的个数。
Sample Input
12
Sample Output
5
Source Code
#include<stdio.h>
int main()
{
int n,k=0; //k,1的个数
scanf("%d",&n);
for(int i = 1; i<=n; i++)
{
int a = i;
while(a)
{
if(a%10==1)
k++;
a/=10;
}
}
printf("%d",k);
return 0;
}
Computational Results

Hint
检测从1到n中每个数中含“1”的个数(即每个数中含有几个“1”),使其相加。
当然对于一些较大的数就得不断使其缩小,上述代码以10为基准
最后
以上就是冷艳外套最近收集整理的关于C语言 数1的个数的全部内容,更多相关C语言内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复