请写一段C语言流水灯代码
时间: 2024-04-12 14:31:47 浏览: 93
3流水灯 C语言 程序代码
当然,下面是一个简单的C语言流水灯代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define DELAY_MS 500 // 灯亮灭的延迟时间,单位为毫秒
#define NUM_LEDS 8 // 流水灯的数量
int main() {
// 初始化流水灯状态数组
int leds[NUM_LEDS] = {0};
while (1) {
// 向右移动流水灯
for (int i = NUM_LEDS - 1; i > 0; i--) {
leds[i] = leds[i - 1];
}
leds[0] = 1; // 第一个灯亮
// 输出流水灯状态
for (int i = 0; i < NUM_LEDS; i++) {
printf("%d ", leds[i]);
}
printf("\n");
usleep(DELAY_MS * 1000); // 延迟一段时间
// 清空输出
system("clear"); // Windows系统下使用"cls"
}
return 0;
}
```
这段代码使用了一个整数数组 `leds` 来表示流水灯的状态,每个元素代表一个灯,值为1表示灯亮,值为0表示灯灭。在主循环中,通过不断向右移动数组元素的方式实现流水灯的效果。每次移动后,通过循环输出数组元素的值来显示流水灯的状态,然后使用 `usleep()` 函数来实现延迟,最后使用 `system()` 函数清空输出,以便下一次状态的输出能够覆盖前一次的输出。
阅读全文