使用if和elseif语句编写一个用于时间转换的C程序

问题

如何使用C编程语言将时间从24小时格式转换为12小时格式?

解决方案

从用户读取时间值(在运行时)。必须将其从24小时转换为12小时格式。

算法

Start:
Step 1: Enter time in 24 hr format
Step 2: check the condition
      i. If(hour==0)
         Print min
     Ii. Elseif(hour<12)
          Print hour,min
    iii. Elseif(hour==12
         Print hour,min
     iv. Else
         Print hour % 12,min
Stop:

程序

#include<stdio.h>
int main(){
   int hr,min;
   printf("以24小时格式输入时间:");
   scanf("%d:%d",&hr,&min);
   printf("12小时格式化时间:");
   if(hr==0){
      printf("12:%.2d AM\n",min);
   }
   else if(hr<12){
      printf("%d:%.2d AM\n",hr,min);
   }
   else if(hr==12){
      printf("%d:%.2d PM\n",hr,min);
   }
   else
      printf("%d:%.2d PM\n",hr % 12,min);
   return 0;
}
输出结果
以24小时格式输入时间:22:37
12小时格式化时间:10:37 PM