Hust oj 1177 Time Transform(字符串)
2016-05-26 20:44
423 查看
Time Transform | ||||||
| ||||||
Description | ||||||
中国采用的日期格式通常为“年年年年/月月/日日”(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 | ||||||
2 2010/12/07-12:12:12 1988/01/01-00:01:01 | ||||||
Sample Output | ||||||
12/07/2010-12:12:12pm 01/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; } |
相关文章推荐
- 使用VS+VisualGDB编译调试Linux程序
- Intellij Idea无法从Controller跳转到视图页面的解决方案
- SpringMVC学习--springmvc和mybatis整合
- 对卷积神经网络(CNN)的简单理解
- 路由算法之——传统SPF路由
- 实战---CGLib实现动态代理
- int main(int argc,char* argv[])详解
- 基于opencv的Gabor特征提取
- java 时间和日期的格式化
- quartz集群调度机制调研及源码分析
- RPC通信框架——RCF介绍(替换COM)
- 旧版本Ubuntu添加源
- CAFFE学习笔记(五)用caffe跑自己的jpg数据
- [JSOI2016]反质数序列
- Java抽象类与接口的区别
- sdut 3264 山理工第七届校赛--学区房问题
- ant的使用
- 6_15 给任务排序(UVa10305)<拓扑排序>
- linux内核分析ELF文件分析实践报告
- caffe 编译出错