这是《C语言入门实战》系列的第3篇。
上一篇:C语言入门实战(2):求平面上任意两点之间的距离


文章目录

      • 题目
      • 要求
      • 参考代码
      • 代码复盘

题目

把输入的任意秒数( 1 1 1 ~ 2 32 − 1 2^{32}-1 2321 )转换为小时:分钟:秒的形式并输出。例如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进行标记。
scanfstdio.h头文件中声明的函数,用于从标准输入(通常是键盘)按指定格式接收输入内容。

更多推荐

C语言入门实战(3):秒数转换为时:分:秒