12期算法擂台解答
来源:互联网 发布:量子经济学 知乎 编辑:程序博客网 时间:2024/05/16 05:25
时间表达
英文口语表达时间有如下6种句型:
l It is five past seven.(7点5分)
l It is eleven to ten. (9点49分)
l It is half past nine. (9点30分)
l It is a quarter past eight. (8点15分)
l It is a quarter to ten. (9点45分)
l It is three o’clock. (3点)
请根据输入的时间,输出相应的英文表达。
程序从键盘输入多行数据,每一行为两个非负整数A和B,其中0<=A<13,0<=B<60,分别表示小时数和分钟数。如果输入的某一行为0 0,则表示输入已结束。程序输出要求:对于输入的每一行(最后的0 0行除外),输出相应的时间表达字符串,要求为上面6种句型之一。输入输出样例见下:
样例输入
8 21
12 45
5 0
0 30
0 0
样例输出
It is twenty-one past eight.
It is a quarter to thirteen.
It is five o’clock.
It is half past zero.
#include <iostream>
#include <string>
using namespace std;
#include <string>
using namespace std;
int main()
{
int hour, minute; // 小时数和分钟数
const string STR[] = {"zero", "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", "ten", "eleven", "twelve", "thirteen","fourteen",
"a quarter", "sixteen", "seventeen", "eighteen", "nineteen", "twenty",
"twenty-one", "twenty-two", "twenty-three", "twenty-four", "twenty-five",
"twenty-six", "twenty-seven", "twenty-eight", "twenty-nine", "half"};
while (cin >> hour >> minute)
{
if (hour == 0 && minute == 0) // 0 0行,退出
break;
if (minute == 0) // 整点
cout << "It is " << STR[hour] << " o'clock." << endl;
else if (minute <= 30) // 不超过30分
cout << "It is " << STR[minute] << " past " << STR[hour] << "." << endl;
else // 超过30分
cout << "It is " << STR[60 - minute] << " to " << STR[hour + 1] << "." << endl;
}
return 0;
}
{
int hour, minute; // 小时数和分钟数
const string STR[] = {"zero", "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", "ten", "eleven", "twelve", "thirteen","fourteen",
"a quarter", "sixteen", "seventeen", "eighteen", "nineteen", "twenty",
"twenty-one", "twenty-two", "twenty-three", "twenty-four", "twenty-five",
"twenty-six", "twenty-seven", "twenty-eight", "twenty-nine", "half"};
while (cin >> hour >> minute)
{
if (hour == 0 && minute == 0) // 0 0行,退出
break;
if (minute == 0) // 整点
cout << "It is " << STR[hour] << " o'clock." << endl;
else if (minute <= 30) // 不超过30分
cout << "It is " << STR[minute] << " past " << STR[hour] << "." << endl;
else // 超过30分
cout << "It is " << STR[60 - minute] << " to " << STR[hour + 1] << "." << endl;
}
return 0;
}
- 12期算法擂台解答
- 2008年06期算法擂台解答
- 程序员12期算法擂台
- 0801算法擂台题目解答
- 9期算法擂台源代码
- 《程序员》2008年第2期"算法擂台" - 微积分习题解答
- 08年第3期算法擂台,网友聚会题目的另一种解答
- 程序员杂志07年12月算法擂台时间表达的解答
- 《程序员》2007年第九期算法擂台——骑士聚会
- 《程序员》2008年第1期"算法擂台" - Cantor表解答
- 《程序员》2008年第1期"算法擂台" - Cantor表解答
- 《程序员》2008年第1期"算法擂台" - Cantor表解答
- 算法擂台代码:时间表达
- 算法擂台微积分习题问题解答
- 《程序员》杂志06年第7期智慧擂台题
- 《程序员》06年9期智慧擂台 :高频词汇提取
- 《程序员》算法擂台之骑士聚会问题
- 《程序员》算法擂台之八皇后问题-递归算法举例
- ★★oracle易忘函数用法★★
- 做了个网站,使用struts2 spring2 jpa组合,书籍下载的
- 实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包
- Ajax__XMLHttpRequest对象详解
- 我为什么活着
- 12期算法擂台解答
- 如何迅速成为Java高手
- 第一課 文法
- jQuery - 参考资料 - fireEvent Method (A, ABBR, ACRONYM, ...):
- CSDN技术中心
- oracle 存储过程的基本使用
- jQuery - 参考资料 - JavaScript性能测试
- Oracle存储过程编写经验和优化措施
- Java学习札记