这是《C语言入门实战》系列的第3篇。
上一篇:C语言入门实战(2):求平面上任意两点之间的距离
题目
把输入的任意秒数(
1
1
1 ~
2
32
−
1
2^{32}-1
232−1 )转换为小时:分钟:秒的形式并输出。例如9320秒可转换为2小时35分钟20秒,即2:35:20,请编程实现。
要求
输入输出格式示例:
输入:9320<回车>
输出:2:35:20
参考代码
#include <stdio.h>
//程序入口,主函数
int main() {
// 从标准输入读取输入的秒数
unsigned int seconds;
scanf("%u", &seconds);
// 除以3600,取整数部分就是小时
int hours = seconds/3600;
seconds %= 3600;
int minutes = seconds/60;
seconds %= 60;
// 输出"时:分:秒"
printf("%d:%d:%u", hours,minutes,seconds);
return 0;
}
代码复盘
int带符号整数,表示的整数范围是[-2^31, 2^31-1],在输入/打印格式中以%d进行标记。
unsigned int无符号整数,表示的整数范围是[0, 2^32-1],在输入/打印格式中以%u进行标记。
scanf是stdio.h头文件中声明的函数,用于从标准输入(通常是键盘)按指定格式接收输入内容。
这篇博客介绍了如何使用C语言将任意秒数转换为小时:分钟:秒的格式。通过示例代码,解释了输入一个无符号整数(111~2^32-1)代表的秒数,然后通过数学运算将其转换为小时、分钟和剩余秒数,并使用printf函数输出。代码中涉及的关键点包括整数除法和取余运算,以及输入输出格式的设置。

1万+

被折叠的 条评论
为什么被折叠?



