用c语言写一组七个灯,分两组,一组三个灯,一组四个灯同时循环的跑马灯
时间: 2023-08-21 13:02:35 浏览: 34
以下是用C语言实现一组七个灯,分两组,一组三个灯,一组四个灯同时循环的跑马灯的程序:
```c
#include <stdio.h>
#include <windows.h>
int main()
{
int i, j;
int state[7] = {0}; // 初始状态,0表示灭,1表示亮
int group1[3] = {0, 1, 2}; // 第一组灯的编号
int group2[4] = {3, 4, 5, 6}; // 第二组灯的编号
while (1) { // 一直循环
for (i = 0; i < 3; i++) { // 循环遍历第一组灯
if (state[group1[i]] == 0) { // 如果该灯处于关闭状态
state[group1[i]] = 1; // 打开该灯
printf("*"); // 输出亮灯的标志符号
} else { // 如果该灯处于打开状态
state[group1[i]] = 0; // 关闭该灯
printf(" "); // 输出关闭灯的标志符号
}
}
for (i = 0; i < 4; i++) { // 循环遍历第二组灯
if (state[group2[i]] == 0) { // 如果该灯处于关闭状态
state[group2[i]] = 1; // 打开该灯
printf("*"); // 输出亮灯的标志符号
} else { // 如果该灯处于打开状态
state[group2[i]] = 0; // 关闭该灯
printf(" "); // 输出关闭灯的标志符号
}
}
printf("\n"); // 输出换行符
Sleep(500); // 控制灯的闪烁速度,这里设置为500毫秒
}
return 0;
}
```
在程序中,我们使用了state数组来存储每个灯的状态,group1和group2数组分别存储了第一组和第二组灯的编号。在循环中,我们先循环遍历第一组灯,然后再循环遍历第二组灯,每次循环中,判断当前灯的状态,如果灯处于关闭状态,则打开该灯并输出亮灯的标志符号,否则关闭该灯并输出关闭灯的标志符号。最后控制灯的闪烁速度,循环输出。
希望这个程序可以帮助你更好地理解跑马灯的实现。