50分求助

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

@[CKsleeping](/user/526029) ``` #include<bits/stdc++.h> using namespace std; signed main() { int s,u,t; scanf ("%d%d",&s,&u); if ( s%u == 0) { t=s/u; t+=9; } else { t=s/u; t+=10; } int h; int m; h = 7; m = 59; while (t != 0) { if (m != 0) { m--; } else { if (h!=0) { h--; m=59; } else { h=23; m=59; } } t--; } int a,b; int c,d; a = h/10; b = h-(10*(h/10)); c = m/10; d = m-(10*(m/10)); printf ("%d%d:%d%d",a,b,c,d); return 0; } ```
by SZH0523 @ 2022-10-12 13:31:48


@[SZH0523](/user/760455) 谢,能跟我详细讲下我哪里错了吗大佬
by CKsleeping @ 2022-10-12 13:33:13


@[CKsleeping](/user/526029) 额,请问您是新手还是老手,老手我可能讲不了。
by SZH0523 @ 2022-10-12 13:36:10


@[SZH0523](/user/760455) 新
by CKsleeping @ 2022-10-12 13:39:19


``` p=int(s/v); c=int(s/v)/60; ``` ```p```和```c```本来就是```int```型再强制转换数据类型没意义。还有就是,如果h>10的话,你这没有条件,我举个例子,如果```h==12```,你这输出的就是```012```了,你这条件不够,还有p也是同理。
by zz_z2Spider @ 2022-10-12 14:04:57


@[CKsleeping](/user/526029) 新手最好用if else,然后分情况,一一对应,再用printf。
by SZH0523 @ 2022-10-13 12:04:44


|