在线编译器 C

#include <stdio.h> int main() { int hour,sec,min; scanf("%d",&sec);//sec=3661 hour=sec/3600; min=(sec%3600)/60; sec=sec%60; printf("H=%d\n",hour); printf("M=%d\n",min); printf("S=%d\n",sec); return 0; }
这段代码的功能是将用户输入的总秒数转换为小时、分钟和秒的格式。它先读取一个整数秒数,然后通过整数除法和取余运算分别计算出小时、分钟和剩余秒数,最后输出结果。

- 注意变量名 `sec` 在计算过程中被重新赋值了。一开始它存储用户输入的总秒数,但最后一行计算后变成了剩余秒数。虽然程序能正确运行,但这样会丢失原始输入值,如果后续需要用到原始总秒数就会出问题。可以考虑使用不同的变量名来保存原始值。
- 代码中 `scanf` 没有检查返回值,如果用户输入的不是整数,程序会得到不确定的结果。可以添加对 `scanf` 返回值的检查,确保成功读取了一个整数。