Central_Error_Unit @ 2023-12-03 17:05:51
过一天的情况不太会写/(ㄒoㄒ)/~~
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int s,v,n,m;
cin>>s>>v;
n=(480-ceil(s/v)-11)/60;
m=int((480-ceil(s/v)-11))%60;
if(n<10&&m>10){
cout<<0<<n<<":"<<m;
}else if(n<10&&m<10){
cout<<0<<n<<":"<<0<<m;
}else if(n>=10&&m<10){
cout<<n<<":"<<0<<m;
}else if(n>=10&&m>=10){
cout<<n<<":"<<m;
}else if(ceil(s/v)>470){
cout<<"00:00";
}
return 0;
}
by csa_chenshuangc6 @ 2023-12-03 19:48:45
答案可能会算到前一天去
by csa_chenshuangc6 @ 2023-12-03 19:50:57
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,b;
int t=470,t1,t2;
cin>>a>>b;
t-=ceil(a/b);
while(t<0){
t=24*60+t;
}
t1=t/60;
t2=t%60;
if(t1<10) cout<<0;
cout<<t1<<':';
if(t2<10) cout<<0;
cout<<t2<<endl;
return 0;
}
拿去借鉴
by lyzisb @ 2023-12-09 17:47:26
h<0时,直接加24是非常容易想到的做法。
但是个人倾向于的写法是通过取模来避免分类。
#include<cstdio>
using namespace std;
int output(int x){//直接填入计算出的结果
int res = (x+24)%24;
//若x>24,这步操作无效;但x<0时相当于+24
if(res < 10)
putchar('0');//更快一些
printf("%d",x);
}
int main(){
//···
//输入,处理
output(h);
putchar(":");
output(min);
return 0;
}