1.问题和答案
知道现在的时间,输入要睡的分钟数,得到闹钟时间??
示例1
输入:
0:0 100
复制
输出:
01:40
复制
示例2
输入:
1:0 200
复制
输出:
04:20
答案:
#include <stdio.h>
int main() {
int hour = 0;
int min = 0;
int minute = 0;
while(scanf("%d:%d %d",&hour,&min,&minute)!=EOF)
{
int a = minute/60;
int b = minute%60;
int c = (hour+a)%24;
int d = (min+b)%60;
if(((min+b)/60)>0)
c = c+1;
printf("%02d:%02d\n",c,d);
}
return 0;
}
2.解题思路
输入分钟数后,利用除法(/60)得到过了几个小时,利用取模(%60)得到分钟数,然后再与起始时间相加,再取模,就可以得到时针和分钟,有个小重点就是分钟和起始时间相加后可能会超出60分钟,这个时候就要用if判断一下,如果大于60分钟,时针就要+1。
3.知识点
1.取模的应用,就是得到余数,先在23:00,两小时后醒了,(23+2)%24=1,那就是1点,其实很好理解。
2.分钟相加超过60分钟,时针记得要+1。