十字路口红绿灯c语言
时间: 2024-12-17 18:13:31 浏览: 7
十字路口红绿灯控制程序是一个简单的模拟交通信号灯控制的C语言应用。它通常会通过设置三个变量分别代表红、黄、绿灯的状态,并利用循环结构来模拟灯的变化过程。以下是一个非常基础的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> // 使用sleep函数模拟时间
// 定义灯的状态
enum Lights { RED = 0, YELLOW, GREEN };
Lights lights[3] = {RED, -1, -1}; // 初始化为红色
void changeLight() {
if (lights[RED] == 0) { // 红灯结束
lights[Yellow] = 1; // 开始黄灯
lights[RED] = 2; // 等待绿灯
} else if (lights[RED] == 2 && lights[Green] == 0) { // 绿灯结束,转为红灯
lights[RED] = 0;
lights[Yellow] = -1; // 黄灯关闭
lights[Green] = 1; // 开始绿灯
}
}
int main() {
while (true) {
changeLight(); // 更新灯状态
printf("当前信号灯状态: ");
switch (lights[RED]) {
case 0: printf("红灯"); break;
case 1: printf("黄灯"); break;
case 2: printf("绿灯"); break;
}
printf("\n");
sleep(5); // 每次改变灯光停留5秒
}
return 0;
}
```
阅读全文