用c语言写一个以秒钟来倒计时5小时,时间到了结束计时的代码
时间: 2024-09-29 16:06:41 浏览: 27
在C语言中,你可以使用`time.h`库来处理时间和定时任务。下面是一个简单的例子,展示了如何创建一个程序来倒计时5小时:
```c
#include <stdio.h>
#include <time.h>
void countdown(int seconds) {
struct timespec ts;
// 当前时间
clock_gettime(CLOCK_MONOTONIC, &ts);
while (seconds > 0) {
// 睡眠一段时间,直到接近目标时间
nanosleep(&ts, NULL); // 这里使用nanosleep函数,它会让进程睡眠指定的时间单位,并立即返回剩余的睡眠时间
// 更新当前时间
clock_gettime(CLOCK_MONOTONIC, &ts);
// 减少秒数
seconds--;
printf("Time remaining: %d seconds\n", seconds);
// 如果你想在控制台显示实时更新,可以去掉这行的注释
// if (seconds == 0) break; // 你可以添加这个判断,当秒数为0时停止计时
}
printf("Countdown finished!\n");
}
int main() {
int total_seconds = 5 * 60 * 60; // 5小时总秒数
countdown(total_seconds);
return 0;
}
```
在这个代码中,我们首先获取当前的时间,然后在一个循环中逐渐减少秒数,每次检查是否到达了目标时间。如果到了,就打印"Countdown finished!"并退出。
注意:`nanosleep`函数可能需要更高的权限运行,如果你遇到权限问题,可以考虑用`usleep()`代替,但精度较低。
阅读全文