#c语言,求助,有一个测试没通过

P5707 【深基2.例12】上学迟到

promise_surprise @ 2024-03-05 17:21:59

怀疑是整除时四舍五入的问题,这个改怎么解决呢

#include<stdio.h>
int main()
{
    int sum,s,v,m,n;
    scanf("%d %d",&s,&v);
    sum=8*60+24*60-s/v-10;
    m=sum/60;
    n=sum%60;
    if(m > 24)
        m=m-24;
    if(s%v != 0 && n != 0)
        n--;
    if(s%v != 0 && n == 0)
        {n=59;m--;}
    if(m<0)
        m=23;
    if(m==0)
        m=24;
    printf("%02d:%02d",m,n);
return 0;
}

by CankleFish @ 2024-03-05 22:38:32

可以把s和v的类型改为double型因为需要四舍五入 这里可以用<cmath>函数中的ceil向上取整 (ceil函数也是double型的//小声bb)别忘了改输入"scanf("%lf%lf",&s,&v)"然后应该就可以了 你试试


|