C语言学习记录——BC42 小乐乐定闹钟

小乐乐定闹钟_牛客题霸_牛客网 (nowcoder.com)

#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

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾浩轩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值