题目如图
思路:先有了答案分钟(mm)的不使用if的思路,如果分钟需要借位,加60再取余就可以算出经过时间。而借位情况发生时,h2-h1比实际的hh小1(例如11:59-12:01,hh=0,mm=2)m2-m1+60整除60为0,考虑进位时hh=h2-h1-1,不进位时hh=(h2-h1-1)+1,构思如下代码。
#include <stdio.h>
int main(){
int h1,h2,m1,m2,hh,mm;
scanf("%d %d",&h1,&h2);
m1=h1%100,m2=h2%100;
h1=h1/100,h2=h2/100;
hh=(h2-h1-1)+(60+m2-m1)/60,mm=(60+m2-m1)%60;
printf("%02d:%02d",hh,mm);
return 0;
}
如有错误与意见,欢迎指出讨论!