24时制与12时制的换算

该编程问题要求编写一个程序,将用户输入的24小时制时间转换为12小时制,包括处理AM/PM、noon/midnight的情况,并检查输入的有效性。
摘要由CSDN通过智能技术生成

24时制与12时制的换算

题目描述

编写一个程序,输入24小时时钟上的时间(使用两个整数变量,第一个表示小时,第二个表示分钟)。
你的程序需要把这个输入转换成在12小时时钟上显示的时间并显示结果。
输出结果为小时、分钟和指示符设置值(在这里指示符是AM、PM还是noon或midnight)。

提示说明:

hours表示小时,minutes表示分钟
1、minutes=0,hours=0:12 :00 (midnight)
2、minutes>0,hours=0: 12:minutes(AM)
比如:输入00:23,则输出 12:23(AM)
3、0<hours<12:1~11 时 (AM)
4、minutes=0,hours=12:12 :00(noon)
5、minutes>0,hours=12:12:minutes(PM)
比如:输入12:23,则输出 12:23(PM)
6、12<hours<24:1~11 时 (PM)

如果输入的小时不在正常24小时制范围内,
则输出“Value for hours must be in the range 0 to 23 ”,结束程序.
如果输入的分钟不在正常时间范围内,
则输出"Value for minutes must be in the range 0 to 59",结束程序。

功能需求

输入格式:

输入一行数据,包括小时和分钟。24小时制时间。

输出格式:

输出对应的12小时制时间,或者相应的错误提示信息。

输入样例1:

00:12

输出样例1:

12:12(AM)

输入样例2:

14:52

输出样例2:

02:52(PM)

输入样例3:

12:00

输出样例3:

12:00(noon)

代码内容

#include <stdio.h>
int main()
{
  int a,b;
  scanf("%d:%d",&a,&b);
  if(a<0||a>=24)
  printf("Value for hours must be in the range 0 to 23");
  if(b<0||b>=60)
  printf("Value for minutes must be in the range 0 to 59");
  if(a==0&&b==0)
  printf("12:00(midnight)");
  if(a==12&&b==0)
  printf("12:00(noon)");
  if(b>0&&b<60)
  {
        if(a==0) 
        printf("12:%02d(AM)",b);
        if(a==12)
        printf("12:%02d(PM)",b);
        if(a>0&&a<12)
        printf("%02d:%02d(AM)",a,b);
        if(a>12&&a<24)
        a=a-12,printf("%02d:%d(PM)",a,b);
  }
  return 0;
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretty Boy Fox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值