题解 | #小乐乐定闹钟#

小乐乐定闹钟

https://www.nowcoder.com/practice/0f7e422e12be4a7f9958ca2a82abc775

#include<stdio.h>
int main()
{
    int h,m,k;//定义闹钟时刻为h:m,要睡的时长为k
    int a,b;//定义a,b为中间变量,后续解释
    scanf("%d:%d %d",&h,&m,&k);//输入现在时刻和要睡的时长
    a=(int)k/60.0;//a为k可换算多少小时
    b=k-60*a;//b为k换算完小时后剩下的分钟数
    h=(h+a+(m+b>60?1:0))%24;//闹钟的时有三部分组成:h(原小时)+a(k可转换的小时)+(m+b>60?1:0)k换算完小时后剩下的分钟数与原分钟相加是否可再转换为1小时,闹钟的小时不可超过24,故要用24进行取余
    m=(m+b>=60?m+b-60:m+b);//闹钟的分要注意原分钟数加k换算完小时后剩下的分钟数有可能大于等于60,要进一步换算成小时,最后要减60,剩下的那部分是最终的分钟
    printf("%02d:%02d",h,m);//%2d下2会输出为 2,%02d下2会输出为02
    return 0;
}//三目运算符:判断条件?a:b,若判断条件为真,输出a,判断条件为假,输出b

总结:

分钟满60要进1到小时,进完小时剩下的留给自己

闹钟的小时不可超过24,最后要进行24取余操作

%2d下2会输出空2,%02d下2会输出02

三目运算符:判断条件?a:b,若判断条件为真,输出a,判断条件为假,输出b

全部评论

相关推荐

09-17 17:09
门头沟学院 Java
雨忄:有人给出过解法,拖晚点去,然后到时候再找其他理由商量,既增加他们的筛人成本,不一定会给你收回offer ,也能占位避免工贼
秋招的嫡长offer
点赞 评论 收藏
分享
阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务