@[桐坂千座](/user/69851) 你第二个```while``t有改变吗?`
by Max6700 @ 2023-08-16 13:34:45
@[桐坂千座](/user/69851) ~~c,```while```看起来真难受~~,可以直接计算,用不着循环
by Max6700 @ 2023-08-16 13:36:31
@[Max6700](/user/935012)
第一个while是用来算已知距离与速度后需要的向上取整的时间,第二个while是在第一个while得到t后,判断“分”是否足够t去减,不够就去减1“时”来换取60“分”,直到能够减去的时候直接清空t来跳出循环。
第二while的判定条件是t大于0,而在else内,t会被直接赋予0,所以第二循环能被跳出。
by 桐坂千座 @ 2023-08-16 13:40:06
@[桐坂千座](/user/69851) 哦……
这题可以直接算。。不需要循环,你先把走路时间算出来,
然后建俩变量存需要的小说和分钟(分开存)
然后分别处理小时和分钟,(就是加上扔垃圾后的小时和分钟)
还有,有可能会从昨天出发,要考虑这种情况
注意前导零
输出
by Max6700 @ 2023-08-16 13:53:10
@[Max6700](/user/935012)
第一循环算的就是走路时间,向上取整的走路时间,hh代表“时”,mm代表“分”。
有t、hh和mm,且知道其中有10分钟要拿出来丢垃圾,所以hh被赋初值7,mm被赋值50,代表至少要在7点50前出发。
以以上为前提,一旦t超过mm,mm就会加60,hh会减1。如果在减去1之前hh已经为0点,则hh会先赋值为24点再减去1以代表前一天。直到mm大于t。这时候mm减去t就是最晚出去的分,hh为最晚出去的时,t也会被减为0跳出循环。
最后便是判定hh与mm的长度是否足够,为个位数便在输出前加0,为十位数则照常输出。
by 桐坂千座 @ 2023-08-16 14:01:45