Hust oj 1177 Time Transform(字符串)

来源:互联网 发布:windows搭建私有云 编辑:程序博客网 时间:2024/05/20 20:46
Time TransformTime Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 289(124 users)Total Accepted: 124(109 users)Rating: Special Judge: NoDescription

中国采用的日期格式通常为“年年年年/月月/日日”(yyyy/mm/dd),而西方所用的日期格式通常为“月月/日日/年年年年”(mm/dd/yyyy)。

另一方面,对小时的统计国际上也分为“24小时制”和“12小时制”。对于“12小时制”,使用am和pm区分上午和下午。


现在要求是,将时间由“年年年年/月月/日日”+"24小时制"的形式转换为“月月/日日/年年年年”+“12小时制”的形式。

特别规定:12:00:00pm代表中午12点,12:00:00am代表凌晨12点。

Input第一行为一个整数T(T<=10),表示测试用例数目。 
接下来的T行,每行都是一个需要转换的时间日期字符串。Output对于每个测试用例,输出结果,一行一个。Sample Input
22010/12/07-12:12:121988/01/01-00:01:01
Sample Output
12/07/2010-12:12:12pm01/01/1988-12:01:01am
用字符串模拟
#include<cstdio>#include<cmath>#include<iostream>#include<algorithm>using namespace std;char a[1005];int main(){   int t;   scanf("%d",&t);   while(t--)   {      scanf("%s",a);      int flag = 0;      int hour = (a[11]-'0')*10+(a[12]-'0');      if(hour == 12 || hour == 0)      {          if(a[14] - '0' > 0 && a[15] -'0' > 0)            flag = 1;          a[11] = '1';          a[12] = '2';      }      if(hour > 12)      {          flag = 1;          a[11] = ((a[11] - '0') - 1) + '0';          a[12] = ((a[12] - '0') - 2) + '0';      }      printf("%c%c/%c%c/%c%c%c%c-%c%c:%c%c:%c%c",a[5],a[6],a[8],a[9],a[0],a[1],a[2],a[3],a[11],a[12],a[14],a[15],a[17],a[18]);      if(flag == 1)        printf("pm\n");      else        printf("am\n");   }   return 0;}


0 0
原创粉丝点击