啊,这显然是没考虑到超过8小时的情况
我Copy一下你的代码输入481 1,正确输出是23:49,你的是00:0-11
可以先直接初始化g=8,然后直接减,小于零了就加24:
```c
g-=(f%60==0)?f/60:f/60+1;
if(g<0) g+=24;
```
v的话就简单了,直接
```c
v=60-(f%60);
```
这样就不需要变量d了
还有就是C语言的printf函数可以用%02d来输出两位数,如果是个位数字会自动用0在前补位,免去了判断小不小于10的麻烦。这样输出只要一行
```c
printf("%02d:%02d",g,v);
```
by xyhuuz @ 2023-10-23 14:52:34
@[xyhuuz](/user/478356)
对了,还要再添一句
```c
if(v==60) v=0;
```
避免输出xx:60的尴尬
by xyhuuz @ 2023-10-23 15:04:14