📅  最后修改于: 2023-12-03 15:30:15.705000             🧑  作者: Mango
本文介绍如何使用C语言编写一个打印当前时间的数字时钟程序。
该程序的主要功能是获取当前时间,然后将其以数字时钟的形式输出。首先需要使用系统时间函数获取当前时间,然后将其转换为时、分、秒三个部分,最后输出时钟的数字形式。
程序的实现分为以下几个步骤:
以下为程序的代码实现:
#include<stdio.h>
#include<time.h>
int main()
{
time_t t = time(NULL); // 获取当前时间
struct tm *now_time = localtime(&t); // 将time_t类型的时间转换为struct tm结构体
int hour = now_time->tm_hour; // 获取当前小时
int minute = now_time->tm_min; // 获取当前分钟
int second = now_time->tm_sec; // 获取当前秒数
printf("当前时间:%02d:%02d:%02d\n", hour, minute, second); // 输出当前时间
int i, j;
int num[10][7] = {{1,1,1,0,1,1,1}, {0,0,1,0,0,1,0}, {1,0,1,1,1,0,1}, {1,0,1,1,0,1,1}, {0,1,1,1,0,1,0}, {1,1,0,1,0,1,1}, {1,1,0,1,1,1,1}, {1,0,1,0,0,1,0}, {1,1,1,1,1,1,1}, {1,1,1,1,0,1,0}}; // 存储数字在7段LED显示器上的状态
printf("\n"); // 输出一个空格,使输出更美观
// 输出数字时钟的形式
for(i = 0; i < 7; i++)
{
for(j = 0; j < 8; j++)
{
if(j == 2 || j == 5) // 输出冒号
printf(" ");
else if(j < 2 && num[hour / 10][i] || j >= 3 && j <5 && num[hour % 10][i] || j >= 6 && j < 8 && num[minute / 10][i] || j >= 9 && num[minute % 10][i]) // 根据数字在7段LED显示器上的状态输出*
printf("* ");
else
printf(" "); // 如果该位置上没有星号,则输出空格
}
printf("\n"); // 每输出完一行后需要换行
}
return 0; // 程序执行完毕,返回0
}
以下为程序的样例输出结果:
当前时间:23:40:21
* * * * * * * * *
* * * * * *
* * * * * * * * * * * * * * * *
* * * * * *
* * * * * * * * *
以上就是本文介绍的C程序打印当前时间的数字时钟。