题目如下:
自己的答案如下:
#include<stdio.h>
int main ()
{
int n,a,b,c,d;
scanf("%d",&n);//输入第一个时间
a=n%10+(n%100-n%10); //第一个时间的后两位数字 ,分
b=n/100; //第一个时间的前两位数字 时
int m;
scanf("%d",&m); //输入第二个时间
c=m%10+(m%100-m%10); //第二个时间的后两位数字 分
d=m/100; //第二个时间的前两位数字 时
if(c>=a)
printf("%02d:%02d",d-b,c-a);
else
printf("%02d:%02d",d-b-1,60-(a-c));
return 0;
}
题目分析:这题的思路其实不难想到,输入两个四位数,我们将一个四位数拆分成两个两位数处理,例如1201,可以拆分为 12 与 01,而12又代表小时,01可以代表分钟,将两个四位数都这样处理,就可以得到两个四位数分别的小时与分,再对得到的时与分进行计算即可。
写代码时遇到的问题:
题目要求输出的格式是这样的
但自己写出来的是这样的
不知道如何在前面补零,在网上查资料才发现应该要这样写
"%02d" 表示输出的整数占两个字节的空间
不足的部分补 0
如果超出 那么按照实际值输出
比如 用 %02d 输出
1 结果为 01
10 结果为 10
123 结果为 123