【思路】
1.对时钟进行打表(0~23小时)
2.①当分钟超过20的时候,对剩下的40分钟分段讨论,每段10分钟。
②定义一个临时变量t记录一下在该分段的十分钟内过了几分钟,特判一下,如果过了10分钟,也就是跳到了下一个分段,直接输出时钟示数和整十的分钟示数;如果t小于10分钟,那么直接输出对应的示数即可。
#include
#include
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());
【今天】今天我爹头疼了,我猜是羊了,所以能多写点代码就多写点吧,感觉我也快了。
希望借着坚持写博客之名,坚持写代码,同时记录生活,嗯,就这样。