求回复!QAQ
by LMR_ @ 2024-01-28 22:35:11
这是我的AC代码你拿去看看吧!```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
int sum1=a*60+b;
int sum2=c*60+d;
int cha=sum2-sum1;
int hour=cha/60;
int mint=cha-hour*60;
cout<<hour<<" "<<mint<<endl;
return 0;
}
```
by yehaoming @ 2024-01-30 23:11:02
@[LMR_](/user/1272861)
你这思路应该是用后面的分钟减去前面的分钟,但为什么要
```cpp
if(b<=d)f=d-b;
```
这两不是相反数阿喂,比如后面是20,前面是50,那么减去后得-30,这里向小时借60分钟,又变成了30,所以要改成
```cpp
if(d-b < 0){f = d-b+60;c--;}//因为和小时借了一位
```
还有那个v,
```cpp
v=1;if(v==0)e=c-a;
```
这里设置成1了,那么下面那个if永远不会成立,也就是说这两个代码白写,e = c-1-a就可以了,这下应该就可以了(按我理解是这样,如果错了,那我就不知道喽)
【我说活有点冲,没有喷你的意思,请谅解】
by davidea @ 2024-02-05 22:00:22
@[davidea](/user/1187198)
这是我的AC代码,思路不一样,但挺简单的
```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int h1,m1,h2,m2;
cin>>h1>>m1>>h2>>m2;
int h = h2-h1-1;
int m = (60-m1)+m2;
if(m >= 60){
h++;
m = m%60;
}
printf("%d %d",h,m);
return 0;
}
```
by davidea @ 2024-02-05 22:01:30
@[davidea](/user/1187198)
谢谢
by LMR_ @ 2024-02-07 17:28:57
很奇怪为什么会有if,求指导
```c
#include<bits/stdc++.h>
using namespace std;
int n,t=2,c;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
b=b+a*60;
d=d+c*60;
int e=d-b;
cout<<e/60<<" "<<e%60;
return 0;
}
```
by yangzhengxi0225 @ 2024-02-22 19:25:00
暴力不香吗?if没有必要(同一天开始时间不可能大于结束时间),算出开始时间(分钟)和结束时间(分钟),结束-开始再求出小时和分钟就行了,别想太复杂,我的代码是这样的:
```cpp
#include<bits/stdc++.h>
using namespace std;
int sh,sm,eh,em;
int main(){
cin>>sh>>sm>>eh>>em;
int st=sh*60+sm,et=eh*60+em;
int swim_t=et-st,swim_h=swim_t/60,swim_m=swim_t%60;
cout<<swim_h<<' '<<swim_m;
return 0;
}
```
by ProgrammingCat @ 2024-05-02 13:29:45