gpt4 book ai didi

c - 正确处理24小时时间

转载 作者:行者123 更新时间:2023-11-30 17:57:03 26 4
gpt4 key购买 nike

我正在编写一个 C 程序,以接收一个以 24 小时格式表示一天中的时间的值,以及以类似格式(正数或负数)表示的持续时间。该程序应计算持续时间后的 24 小时时间(即开始 + 持续时间 = 结束)。例如,1345 和 345 将输出 1730。

但是,我不知道如何处理不正确的输入。例如,不应接受 2372 或 2520 等值。同样,如果我有(例如)100 和 -200,我应该得到 2300 作为输出而不是 -100。简而言之,我知道前两个数字应该是 mod 24,最后两个数字应该是 mod 60,但我不知道如何将这些操作应用于输入。谁能提供有关如何做到这一点的任何提示?

最佳答案

将输入读取为 int,将分钟与小时分开并检查两者:

int tm, h, m, is_negative = 0;
scanf("%d", &tm);

if (tm < 0) {
is_negative = 1;
tm = -tm;
}

m = tm % 100; // separates the two last digits
h = tm / 100; // excludes the two last digits

if (m > 59) {
handle_error();
}

if (h > 23) {
handle_error();
}

关于c - 正确处理24小时时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13043329/

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