#include<iostream>//基本函数声明的综合引用(头文件是一堆函数的声明综合文件,没有函数定义,里面只有声明)
using namespace std;//应用std命名空间,限定变量的作用区域(譬如2班和3班都有一个李铁蛋,我在两个班外面叫李铁蛋这个名字
//肯定会出问题(同时两个人冒出来了),所以限制一个空间,比如我就在2班里面叫,那么就不会影响到3班的李铁蛋了,std也是同理,相当与班级,限定你这个cin,cout这些符号的作用规则,防止前后命名矛盾,导致程序执行的混乱以至于报错
void compute(int a, int b, int c, int d);//函数先声明,让程序知道有这么个东西,就可以把函数放在主函数后面定义了(相当于是函数定义的第一个语句)
int main()//主函数,程序的入口,所有程序不分高低贵贱男女老少全部在这进来,在这里面调用
{
int a = 0;//一般数据类型设为int(integer-n.整数(1,2,3,4,5,6,7,8.9,10))
int b = 0;
int c = 0;
int d = 0;//四个用来接受用户输入并且输入函数compute内的变量
cin >> a >> b >> c >> d;//
compute(a, b, c, d);//调用函数
return 0;
}
void compute(int starth, int startm, int endh, int endm)//四个变量分别为启始小时与分钟,结束小时与分钟
{//定义为void是因为1,return不能返回空格2,用cout方便
int mcource = 0;//初始化为0
int hcource = 0;
mcource = (60 - startm) + endm;//分钟单独计算;12.40开始的直接把他当成13点给下面这个计算小时的表达式算,剩下20分钟就放在这里算,后面加上endm也同理,代表最后多出的分钟数,多出60的部分后面会处理
hcource = endh - (starth + 1);//小时单独计算:前面说到,12,40当成13点算,因此开始的小时数也应该到了13,所以要加上1,进位防止多算60分钟的
if(mcource < 60)//对分钟数超于60情况进行处理,第一种小于60没问题,
cout << hcource << " " << mcource;
else//第二种呢,C++可能不能用连续括号计算?所以新建了临时变量temp用于存储:当分钟数超过60分钟数后,把他拆分成n个小时加上小于60的分钟数,也就是/60,因为int类型的计算,余数直接抹零了
{
int temph;
temph = mcource / 60;//解释见上一句后部分
cout << hcource + temph << " " << mcource - temph * 60;//间隔小时加上分钟数超过60分钟后追加的部分,也就是temph,后面这一块
}
}