gpt4 book ai didi

c 程序时间转换 24 小时到 12 小时

转载 作者:行者123 更新时间:2023-11-30 16:27:58 24 4
gpt4 key购买 nike

我的代码有什么问题吗?这是一个将 24 小时时间格式转换为 12 小时时间格式的程序,并且只接受四位整数作为输入。

例如。输入 = 0000 那么输出应该是 00:00 a.m.

当我向学校在线法官提交代码时,它不接受所有输入,但我找不到问题。

#include <stdio.h>

int main(void)
{
int morning, hour, min;

scanf("%02d%02d", &hour, &min);

if (hour > 23 || min > 59)
{
return 1;
}


//check am pm
if (hour >= 12)
{
morning = 1;

if (hour > 12)
{
hour -= 12;
}

}
else
{
morning = 0;
}

//print the result
if (morning == 0)
{
printf("%02d:%02d a.m.", hour, min);
}
else
{
printf("%02d:%02d p.m.", hour, min);
}

return 0;
}

最佳答案

使用您的代码,如果小时 = 0 且分钟 = x,则输出为 00:xx am。12 小时制中没有 00:xx am。不过,还有上午 12:xx。因此,如果 hour = 0,您需要包含另一个 if 语句。

#include <stdio.h>

int main(void)
{
int morning, hour, min;

scanf("%02d%02d", &hour, &min);

if (hour > 23 || min > 59)
{
return 1;
}


//check am pm
if (hour >= 12)
{
morning = 1;

if (hour > 12)
{
hour -= 12;
}

}
//if input is 00xx
if (hour == 0)
{
morning = 2;
hour = hour + 12;
}
else
{
morning = 0;
}

//print the result
if (morning == 2);
{
printf("%02d:%02d a.m.\n", hour, min);
}
if (morning == 0)
{
printf("%02d:%02d a.m.\n", hour, min);
}
if (morning == 1)
{
printf("%02d:%02d p.m.\n", hour, min);
}

return 0;
}

关于c 程序时间转换 24 小时到 12 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52558734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com