题解 | #小乐乐定闹钟#

小乐乐定闹钟

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

全部评论

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务