编写一个c程序,要求用户输入24小时制的时间,然后显示12小时制的格式。 例: 输入:21:11 输出: 9:11PM

注意:不要把12:00显示成0:00。
本题采用午夜12点显示为AM,中午12点为PM的规定。

#include "stdafx.h"

#include"iostream"

#include <stdio.h>

#include <stdlib.h>

#include "math.h"


using namespace std;


int _tmain(int argc, _TCHAR* argv[])

{

char s[10];

scanf("%s",s);

int h,m,flag=0;

h=(s[0]-48)*10+s[1]-48;

if(h>12)

{

h=h-12;

flag=1;

}

cout<<h<<":"<<s[3]<<s[4];

if(flag==0)

cout<<"AM"<<endl;

else

cout<<"PM"<<endl;

return 0;


}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-20
#include <stdio.h>

int main(){
    int hour, minute;
    while(1){
        scanf("%d:%d", &hour, &minute);
        if(hour<12){
            printf("%d:%.2dAM\n", hour, minute);
        } else if(hour==12 && minute==0){
            printf("%d:%.2dPM\n", hour, minute);
        } else if(hour==24 && minute==0){
            printf("%d:%.2dAM\n", hour-12, minute);
        } else {
            printf("%d:%.2dPM\n", hour-12, minute);
        }
    }
    return 0;
}

本回答被提问者采纳
第2个回答  2019-08-29
#include<stdio.h>
#include<stdlib.h>
int main()
{
 int hour,min,h;
 scanf("%d:%d",&hour,&min);
 h=hour%12;
 if(hour<12) 
  printf("%d:%d AM",h,min);
  else if(hour==12)
  printf("%d:%d PM",hour,min);
  else if(hour>=13&&hour<=23)
  printf("%d:%d PM",h,min);
  else if(hour==24)
  printf("%d:%d AM",h,min);
return 0;
}

相似回答