引言
秒表是一种常用的计时工具,尤其在体育比赛、实验操作等领域中发挥着重要作用。本文将介绍如何使用C语言轻松实现一个高效的秒表程序,包括计时、暂停、复位等功能。
实现思路
1. 简单版实现
- 使用
Sleep(1000)
函数实现1秒的延时。 - 计数器
cnt
用于记录经过的秒数。 - 按任意键停止计时,并显示总秒数。
2. 高级版实现
- 使用
gettimeofday()
函数实现毫秒级计时。 - 记录计时开始和暂停时的秒数和毫秒数。
- 计算计时期间的秒数和毫秒数。
简易版本代码示例
#include <stdio.h>
#include <conio.h> // kbhit(), getch()
#include <Windows.h> // Sleep(ms)
int main() {
int hour = 0, min = 0, sec = 0;
int cnt = 0;
printf("按任意键停止计时\n");
while (!kbhit()) { // 任意键退出循环(结束计时)
hour = cnt / 3600; // 获取计时小时数
min = cnt / 60; // 获取计时分钟数
sec = cnt % 60; // 获取计时秒数
printf(" %02d:%02d:%02d\n", hour, min, sec);
Sleep(1000); // 1秒延时
cnt++;
}
printf("\n程序退出\n");
return 0;
}
高级版本代码示例
#include <stdio.h>
#include <sys/time.h> // gettimeofday()
int main() {
struct timeval start, end;
long m, s;
gettimeofday(&start, NULL);
printf("按任意键停止计时\n");
while (1) {
if (kbhit()) {
gettimeofday(&end, NULL);
break;
}
}
s = end.tv_sec - start.tv_sec;
m = (end.tv_usec - start.tv_usec) / 1000;
printf("计时结束,耗时:%ld秒%ld毫秒\n", s, m);
return 0;
}
总结
本文介绍了使用C语言实现秒表的方法,包括简单版和高级版。通过以上代码示例,你可以轻松地实现一个高效的秒表程序。在实际应用中,你可以根据自己的需求对代码进行修改和扩展。