【2023年蓝桥杯训练--报时助手】

1 篇文章 0 订阅
1 篇文章 0 订阅

【思路】

1.对时钟进行打表(0~23小时)

2.①当分钟超过20的时候,对剩下的40分钟分段讨论,每段10分钟。

   ②定义一个临时变量t记录一下在该分段的十分钟内过了几分钟,特判一下,如果过了10分钟,也就是跳到了下一个分段,直接输出时钟示数和整十的分钟示数;如果t小于10分钟,那么直接输出对应的示数即可。

#include<iostream>
#include<string> 
using namespace std;

string st[24]={"zero","one","two","three","four","five","six","seven","eight","nine",
"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty",
"twenty one","twenty two","twenty three"};
int n,m;

int main()
{
	cin>>n>>m;
	if(m == 0)	printf("%s o'clock",st[n].c_str());
	else if(m > 0 && m <= 20)	printf("%s %s",st[n].c_str(),st[m].c_str());
	else if(m > 20 && m <= 30)
	{
		int t = m - 20 ;
		if(t == 10)	printf("%s thirty",st[n].c_str());
		else
		printf("%s twenty %s",st[n].c_str(),st[t].c_str());
	}
	else if(m > 30 && m <= 40)
	{
		int t = m - 30 ;
		if(t == 10)	printf("%s forty",st[n].c_str());
		else
		printf("%s thirty %s",st[n].c_str(),st[t].c_str());	
	}	
	else if(m > 40 && m <= 50)
	{
		int t = m - 40 ;
		if(t == 10)	printf("%s fifty",st[n].c_str());
		else
		printf("%s forty %s",st[n].c_str(),st[t].c_str());
	}
	else if(m > 50 && m < 60)
	{
		int t = m - 50 ;
		printf("%s fifty %s",st[n].c_str(),st[t].c_str());
	}
		
	
	return 0;	
}

【感悟】第一次写博客记录代码,有两三个月没碰了,之前准备的都忘完了,现在重新拾起来准备。今晚string都忘了怎么用了。string如果用printf输出的话是不能用

printf("%s o'clock",st[n]);

得换成

printf("%s o'clock",st[n].c_str());

【今天】今天我爹头疼了,我猜是羊了,所以能多写点代码就多写点吧,感觉我也快了。

希望借着坚持写博客之名,坚持写代码,同时记录生活,嗯,就这样。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值