Онлайн компилятор C

#include <stdio.h> int main() { int h,m,s; scanf("%d",&s); h= s / 3600; m= (s % 3600) / 60; s= s / 60; printf("H=%d\nM=%d\nS=%d",h,m,s); return 0; }
这段代码的功能是将输入的总秒数转换为小时、分钟和秒,并输出。它从用户读取一个整数秒数,然后计算对应的小时、分钟和剩余秒数。

- 计算小时的部分是正确的,但计算分钟时使用了 `s % 3600` 来得到除去小时后剩余的秒数,再除以60得到分钟,这个思路是对的。
- 问题出在最后更新 `s` 的语句:`s = s / 60;` 这一行错误地覆盖了原始的秒数,导致最终输出的秒数不正确。你应该保留原始的秒数,或者用另一个变量来存储剩余秒数。