felix1 @ 2024-12-19 19:57:29
为什么是70分? 最后三个测试点没过。 求助!!!
#include<bits/stdc++.h>
using namespace std;
int s,v,t1,t2,m,h;
int main(){
cin>>s>>v;
t1=s/v+10;
t2=480-t1;
m=t2%60;
h=t2/60;
if(h<10&&m>=10){
cout<<"0"<<h<<":"<<m-1;
}
else if(h<10&&m<10){
cout<<"0"<<h<<":"<<"0"<<m-1;
}
else{
cout<<h<<":"<<m-1;
}
return 0;
}
by 0zhouyq @ 2024-12-19 20:11:54
m 无缘无故减一,怎么可能对@felix1
by 0zhouyq @ 2024-12-19 20:12:59
正确做法显然是:
t1=ceil((double)s/(double)v)+10;
by 0zhouyq @ 2024-12-19 20:14:23
输出时不要给 m 减一了,否则你试试下面这组数据。
输入:
100 50
正确输出:
07:48
by 0zhouyq @ 2024-12-19 20:16:06
期中 ceil 函数的作用是上取整,除法需要强行转成浮点数计算以保证精度。
这么详细了,不给个关注么 qwq?@felix1
by felix1 @ 2024-12-19 20:19:10
@0zhouyq 谢谢!改了之后就100了!