十个灯依次点亮连续点亮连续熄灭最后其中一个做呼吸灯用c语言
时间: 2024-09-18 12:02:37 浏览: 67
为了实现这个功能,我们可以使用C语言中的数组和循环结构,模拟十个灯泡的状态。我们可以将每个灯泡的状态表示为0(熄灭)或1(点亮)。这里我们创建一个名为`lights`的数组,然后编写一个函数来控制灯泡按顺序点亮、熄灭,并让最后一个灯泡像呼吸灯一样闪烁。
```c
#include <stdio.h>
#include <stdlib.h>
#define NUM_LIGHTS 10
// 灯泡状态结构体
typedef enum {OFF = 0, ON} LightState;
// 灯泡数组
LightState lights[NUM_LIGHTS];
// 动态点亮、熄灭并切换最后一个灯泡
void light_sequence() {
int i;
// 先点亮所有灯
for (i = 0; i < NUM_LIGHTS; i++) {
lights[i] = ON;
printf("*"); // 输出*代表灯亮
}
printf("\n");
// 按顺序熄灭
for (i = NUM_LIGHTS - 1; i > 0; i--) {
lights[i] = OFF;
printf("-"); // 输出-代表灯灭
}
printf("\n");
// 让最后一个灯做呼吸效果
while (1) {
lights[NUM_LIGHTS - 1] = (lights[NUM_LIGHTS - 1] == ON) ? OFF : ON;
printf("*" if lights[NUM_LIGHTS - 1] else "-"); // 根据灯泡状态输出*
sleep(1); // 延迟一秒
}
}
int main() {
light_sequence();
return 0;
}
阅读全文