C语言相同坐标位置模拟输出时分秒的倒计时变化
时间: 2023-05-28 13:06:20 浏览: 51
以下是一个C语言程序,可以模拟输出倒计时的变化,以时分秒的形式表示:
```c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
int hour = 0, minute = 0, second = 0; // 初始化时分秒为0
printf("Enter the time in format HH:MM:SS: ");
scanf("%d:%d:%d", &hour, &minute, &second); // 读取输入的时间
while (1) {
printf("%02d:%02d:%02d\n", hour, minute, second); // 输出当前的时间
sleep(1); // 延时1秒
second--; // 秒数减1
if (second < 0) { // 秒数小于0时
second = 59; // 秒数变为59
minute--; // 分钟数减1
if (minute < 0) { // 分钟数小于0时
minute = 59; // 分钟数变为59
hour--; // 小时数减1
if (hour < 0) { // 小时数小于0时
printf("Time is up!\n"); // 时间到达,输出提示信息
exit(0); // 退出程序
}
}
}
}
return 0;
}
```
在该程序中,我们通过使用`scanf()`函数读取用户输入的时间,然后使用`printf()`函数输出当前的时间。同时,我们使用`sleep()`函数来延时1秒,以模拟时间的变化。在每次循环中,我们将秒数减1,如果秒数小于0,则将秒数变为59,同时将分钟数减1。如果分钟数小于0,则将分钟数变为59,同时将小时数减1。如果小时数小于0,则说明时间已经到达,我们输出提示信息并退出程序。
在程序中,我们使用`%02d`格式指定输出的数字占据2个字符位,不足2位时自动补0。这样可以保证输出的时间格式一致,美观大方。