北邮12月份月赛A题
2012-01-06 11:59 javaspring 阅读(234) 评论(0) 编辑 收藏 举报话说这是神马北邮和腾讯联合举办的神马月赛,,,怀着ym众犇的心情去做比赛,,,一看题才知道有多坑爹。。。。。不仅题目山寨的要死,,,就连数据也水的要死,,,还描述错题目,,,我去,,真是神题。。不过这倒题还是学习了,学习了一些输入格式,,题目:
Accept:43 | Submit:326 |
Time Limit:1000MS | Memory Limit:65536KB |
Description
二十四小时制的规则是把每日由午夜至午夜共分为二十四个小时,从数字0至23(24是每日完结的午夜)。这个时间记录系统是现今全世界最常用的,是国际标准时间系统。
十二小时制是一个时间规则把一日二十四小时分为两个时段,分别为上午(a.m.,拉丁文ante meridiem表示中午之前)和 下午(p.m.,拉丁文post meridiem表示中午之后)。每个时段由十二个小时构成,以数字12、1、2、3、4、5、6、7、8、9、10、11依次序表示。上午时段由午夜至中午,而下午时段由中午至午夜。使用十二小时制显示时间的系统通常会将中午显示为12:00 pm而将午夜显示为12:00 am。
这两种时间制各有优缺点。二十四小时制不会混淆上午的时间和下午的时间(在十二小时制中7点钟既可以指上午也可以指下午)。在日程表或类似的文件中,一眼就可以看清时间是上午还是下午。这对于需要全天二十四小时服务的机构尤其重要,例如航空公司、铁路和军队。但受到传统的行针式钟表影向,大部份人日常生活习惯上,都是使用十二小时制称呼及理解时间,例如下午5:00(17:00),日常生活中,一般都是以下午5:00称呼及理解,甚少会用17:00。当使用二十四小时制,提及下午1:00(13:00)至下午/晚上11:59(23:59)时,大部份人都需略作思考,将之换算为十二小时制,才明白所指的时间,稍为不便,甚至可能换算错误而出现误会,例如误以为18:00为下午8:00(正确为下午6:00)。
--摘自百度百科
怎么把二十四进制的时间转换为十二进制表示?
Input
输入第一行是一个整数n, n<200, 表示测试数据的组数。
接下来每行输入一个用二十四小时表示的时间,格式为HH:MM:SS。
Output
输出一行十二小时制的时间。格式为AM HH:MM:SS或PM HH:MM:SS。注意不要忘记输出前导的0。
Sample Input
13:03:10
Sample Output
PM 01:03:10
#include <iostream> #include <cstdio> #include <string> using namespace std; int main(){ //freopen("4.txt","r",stdin); int n; scanf("%d",&n); int hour,min,sec; while(n--){ scanf("%d",&hour);getchar();scanf("%d",&min);getchar();scanf("%d",&sec); if(hour<=11) printf("AM %02d:%02d:%02d\n",hour,min,sec); else printf("PM %02d:%02d:%02d\n",hour-12,min,sec); //printf("\n"); } return 0; }