第1关:在屏幕上模拟显示一个数字式时钟
任务描述
本关任务:在屏幕上模拟显示一个数字式时钟。
相关知识
为了完成本关任务,你需要掌握:C 语言基础。
在屏幕上模拟显示一个数字式时钟
编程要求
根据提示,在右侧编辑器/** Begin **/
到 /** End **/
处补充代码,完成在屏幕上模拟显示一个数字式时钟。
测试说明
平台会对你编写的代码进行测试
#include <stdio.h>
struct clock
{
int hour;
int minute;
int second;
};
typedef struct clock CLOCK;
//函数功能:时、分、秒时间的更新
void Update(CLOCK *t)
{
/*************** Begin ***************/
static long m=1;
(*t).hour=m/3600;
(*t).minute=(m-3600*t->hour)/60;
(*t).second=m%60;
m++;
if((*t).hour==24){
m=1;
}
/*************** End ***************/
}
//函数功能:时、分、秒时间的显示
void Display(CLOCK *t)
{
/*************** Begin ***************/
printf("%2d:%2d:%2d\r",(*t).hour,(*t).minute,(*t).second);
/*************** End ***************/
}
//函数功能:模拟延迟1秒的时间
void Delay(void)
{
long t;
for (t=0; t<50000000; t++)
{
//循环体为空语句的循环,起延时作用
}
}
int main(void)
{
long i;
CLOCK myclock;
myclock.hour = myclock.minute = myclock.second = 0;
for(i=0; i<5; i++) //利用循环结构,控制时钟运行的时间
{
Update(&myclock); //时钟更新
Display(&myclock); //时间显示
Delay(); //模拟延时1秒
}
return 0;
}