c++---天梯赛---大笨钟
★题目:

★思路分析: 对可能的情况进行分类处理。在这里我把它们分成了3大类。
①不在敲钟时间
②在敲钟时间但为整点
③在敲钟时间且不为整点。
在敲钟时间段内我们可分别对晚8点前后进行分类讨论,
我们可对这几种情况分别处理达到题目的要求。
★易错点:端点值的取舍。
★代码解释:
#include<iostream> #include<cstdio> #include<string> using namespace std; int main() { string a,b; char c[6]; int i,x,t=1; a={"Dang"}; b={" Too early to Dang."}; scanf("%s",c); if(c[0]=='0'||c[0]=='1'&&c[1]<'2'||c[0]=='1'&&c[1]=='2'&&c[3]=='0'&&c[4]=='0') { t=0; cout<<"Only "<<c<<b; } //不在敲钟的时刻 else if(c[0]=='1'&&c[3]=='0'&&c[4]=='0') x=(c[1]-'0')-2; //晚8点之前的整点情况 else if(c[0]=='1') x=(c[1]-'0')-1; //晚8点之前的非整点情况 else if(c[0]=='2'&&c[3]=='0'&&c[4]=='0') x=(c[1]-'0')+8; //其他在敲钟时间段的整点情况 else if(c[0]=='2') x=(c[1]-'0')+9; //敲钟时间段内剩余的情况 if(t==1) for(i=0;i<x;i++) cout<<a; //按要求的输出 cout<<endl; return 0; }
★测试结果:


浙公网安备 33010602011771号