标签:https www. 链接 思路 问题 code str paste 经验
大致要求是说给定一个十二小时制的时间,给出它的二十四小时制的形式。
输入格式:hh:mm:ssAM 或者 hh:mm:ssPM,其中01≤hh≤12,00≤mm,ss≤59
判断字符串第9位,为‘P’就说明是下午的时间,转换一下hh至数字后+12再输出。
没想到这么一道水题错了4个点……
再一读题,注意到题干里note部分,发现鬼畜的正午和午夜分别是12:00PM和12:00AM,对应的二十四小时时间就是12:00和00:00,真是活久见。
所以last version就是先判hh是不是12,是12就归零,不是就不管它;接着如果是PM就照旧+12,AM不变即可。
var st:string; i:longint; begin readln(st); if st[1]+st[2]=‘12‘ then begin st[1]:=‘0‘; st[2]:=‘0‘; end; if st[9]=‘P‘ then begin write((ord(st[1])-48)*10+(ord(st[2])-48)+12,‘:‘,st[4],st[5],st[6],st[7],st[8]); writeln; end else begin for i:=1 to 8 do write(st[i]); writeln end end.
写这道题不是因为它难,而是因为它玄学的思路……有兴趣可以看一下上一个版本的代码,然后错三个点。在此马克留个意——
好吧我承认这是生活经验问题……十二小时制真是神奇╭(╯^╰)╮
[Hackerrank]时间转换Time Conversion
标签:https www. 链接 思路 问题 code str paste 经验
原文地址:http://www.cnblogs.com/mojibake/p/7296487.html