20国1- 美丽的2-仔细

【问题描述】
小蓝特别喜欢 2,今年是公元 2020 年,他特别高兴。
他很好奇,在公元 1 年到公元 2020 年(包含)中,有多少个年份的数位中
包含数字 2?
【输入】
没有输入。
【输出】
输出一个整数。
【提示】
把答案放在输出语句中输出,例如C/C++语言可以用printf或cout。
注意:需要输出的是一个整数,不要输出任何多余内容。
【思路】

#include<bits/stdc++.h>//测训时提交的被WA的代码
using namespace std;
int main(){
    
    
    int l=1,r=2020;
    int i,sum=0;
	for(i=l;i<=r;i++){
    
    
		int s=i;
		while(s>0){
    
    
			if(s%10==2){
    
    
				sum++;
			}
			s/=10;
		}
	}
	printf("%d\n",sum);
	return 0;
}

错误原因:审题没仔细,题目是求有多少个年份的数位中包含数字 2?,出现数字2就是符合的年份。认真仔细审题呀!!!

#include<bits/stdc++.h>
int main(){
    
    
	int l=1,r=2020;
	int ans=0;
	for(int i=l;i<=r;i++){
    
    
		int s=i;
		while(s>0){
    
    
			if(s%10==2){
    
    
				ans++;
				break;
			}
			s=s/10;
		}
	}
	printf("%d",ans);
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43959743/article/details/113063599