1 条题解
-
0
```language ```language #include <cstdio> int main() { int n; int year, month, day; int hour, min, sec; const char* ampm[2] = {"am", "pm"}; // 存储上午/下午标识 // 读取测试用例数量 scanf("%d", &n); // 处理每个测试用例 while (n--) { // 读取输入的日期时间 scanf("%d/%d/%d-%d:%d:%d", &year, &month, &day, &hour, &min, &sec); // 判断是上午还是下午 int flag_of_ampm = (hour >= 12) ? 1 : 0; // 转换为12小时制 if (hour == 0) { hour = 12; // 0点转换为12点 } else if (hour > 12) { hour -= 12; // 超过12点的减去12 } // 输出转换后的格式 printf("%02d/%02d/%04d-%02d:%02d:%02d%s\n", month, day, year, hour, min, sec, ampm[flag_of_ampm]); } return 0; }
2 分析。
注意格式控制。
①格式读入,scanf("%d/%d/%d-%d:%d:%d",&yy,&mm,&dd,&h,&m,&s);
②%04d,输出4位,若不够,则补0
printf("%02d/%02d/%04d-%02d:%02d:%02d%s\n",mm,dd,yy,h,m,s,time[pm]);
- 1
信息
- ID
- 2751
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者