用c语言写一个流水灯的程序
时间: 2023-11-18 18:05:37 浏览: 113
以下是使用C语言编写流水灯程序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#define LED_NUM 8 // 流水灯数量
#define DELAY_TIME 200 // 灯亮时间间隔(毫秒)
int main() {
int led[LED_NUM] = {0}; // 用于存储每个灯的状态,0表示灭,1表示亮
int i, j;
srand((unsigned int)time(NULL)); // 初始化随机数生成器
while (1) {
system("cls"); // 清屏
for (i = 0; i < LED_NUM; i++) {
if (led[i]) { // 如果该灯是亮的,则输出“*”,否则输出“.”
printf("* ");
} else {
printf(". ");
}
}
printf("\n");
// 随机选择一个灯亮起
j = rand() % LED_NUM;
led[j] = 1;
Sleep(DELAY_TIME); // 等待一段时间
// 将所有灯状态向左移动一位
for (i = 0; i < LED_NUM - 1; i++) {
led[i] = led[i + 1];
}
led[LED_NUM - 1] = 0; // 最后一个灯设置为灭
}
return 0;
}
```
此程序使用了数组来存储每个灯的状态(亮或灭),然后在循环中不断更新状态和显示灯的状态,实现流水灯效果。程序中使用了Windows API的Sleep函数来等待一段时间,从而控制灯亮时间间隔。可以根据需要修改LED_NUM和DELAY_TIME的值来改变流水灯的数量和亮灯时间间隔。
阅读全文