信息学奥赛一本通C++语言——1095:数1的个数

【题目描述】
给定一个十进制正整数n(1≤n≤10000),写下从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<cstdio>
int main(){
	int n,s=0,b=0,a=0;
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		b=i;
		while(b>0){
			a=b%10;
			b=b/10;
			if(a==1){
				s+=1;
			}
		} 
	}
	printf("%d",s);
	return 0;
}
发布了107 篇原创文章 · 获赞 32 · 访问量 3246

猜你喜欢

转载自blog.csdn.net/weixin_46272402/article/details/104628345