用if和switch语句帮我写一个有8个流水灯的流水灯的C语言代码
时间: 2024-10-09 12:01:30 浏览: 33
流水灯 C语言 程序代码.rar
当然可以。在C语言中,我们可以使用`if`和`switch`语句来控制8个流水灯的切换状态。这里我给出一个简化的示例,假设我们有一个数组代表流水灯的状态,并且使用按键控制灯的循环显示:
```c
#include <stdio.h>
#define NUM_LAMPS 8
// 定义灯的状态,0表示关闭,1表示打开
int lamp_state[NUM_LAMPS] = {0, 0, 0, 0, 0, 0, 0, 0};
void toggle_lamp(int index) {
if (lamp_state[index] == 0) {
lamp_state[index] = 1;
printf("Lamp %d turned on.\n", index + 1);
} else {
lamp_state[index] = 0;
printf("Lamp %d turned off.\n", index + 1);
}
}
void display_lights() {
switch(index) {
case 0:
printf("Current lamp sequence: ");
for(int i = 0; i < NUM_LAMPS; ++i) {
if(lamp_state[i]) {
printf("*");
} else {
printf("-");
}
if(i != NUM_LAMPS - 1) {
printf(", ");
}
}
printf("\n");
break;
// ... 为剩余的7个灯编写case...
default:
printf("Invalid index.\n");
}
}
int main() {
int user_input;
while(1) {
printf("Enter a number between 0 and 7 to control the lights or 'q' to quit: ");
scanf("%d", &user_input);
if(user_input >= 0 && user_input < NUM_LAMPS) {
toggle_lamp(user_input);
display_lights();
} else if(user_input == 'q') {
printf("Quitting...\n");
break;
} else {
printf("Invalid input.\n");
}
}
return 0;
}
```
在这个例子中,用户输入0到7的数字来控制灯的状态,如果输入`q`则退出程序。每个灯的状态通过数组`lamp_state`表示。`toggle_lamp`函数用于切换灯的状态,而`display_lights`则打印当前灯光的状态。
阅读全文