用C语言写一段交通信号灯代码
时间: 2023-05-23 09:06:44 浏览: 70
#include <stdio.h>
int main() {
int signal;
printf("请输入红绿灯状态:\n");
printf("0 -> 红灯\n1 -> 绿灯\n2 -> 黄灯\n");
scanf("%d", &signal);
switch(signal) {
case 0:
printf("红灯,停车等待\n");
break;
case 1:
printf("绿灯,可以通行\n");
break;
case 2:
printf("黄灯,准备停车\n");
break;
default:
printf("输入有误,请输入0~2之间的整数\n");
break;
}
return 0;
}
相关问题
用c语言写一段交通灯代码
以下是用 C 语言写的简单的交通灯代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <windows.h> // Windows 系统下的头文件
int main()
{
int i;
while (1) // 无限循环
{
system("cls"); // 清屏,Windows 系统下的命令
printf("红灯亮\n");
Sleep(3000); // 延时 3 秒
printf("红灯熄,绿灯亮\n");
Sleep(2000); // 延时 2 秒
printf("绿灯熄,黄灯亮\n");
Sleep(1000); // 延时 1 秒
printf("黄灯熄\n");
Sleep(1000); // 延时 1 秒
}
return 0;
}
```
这段代码会不断地循环执行交通灯的变化过程,每次变化的时间为 3 秒、2 秒和 1 秒。其中,`Sleep()` 函数是 Windows 系统下的函数,用于延时一定的时间。如果在其他系统下运行,需要使用相应的延时函数。
用c语言写一个交通信号灯倒计时的程序
好的,以下是一个简单的交通信号灯倒计时的程序,使用了C语言编写:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int red = 10, yellow = 3, green = 15; // 信号灯的倒计时时间
int current_color; // 当前的信号灯颜色
time_t start_time, current_time; // 计时器
current_color = 1; // 初始为红灯
start_time = time(NULL); // 记录开始时间
while (1) {
current_time = time(NULL);
if (current_time - start_time >= (current_color == 1 ? red : (current_color == 2 ? yellow : green))) {
current_color = current_color % 3 + 1; // 1->2->3->1
start_time = current_time; // 重置计时器
}
// 根据当前的信号灯颜色输出倒计时时间
printf("%s: %d\n", current_color == 1 ? "Red" : (current_color == 2 ? "Yellow" : "Green"),
(current_color == 1 ? red : (current_color == 2 ? yellow : green)) - (current_time - start_time));
// 模拟延时
for (int i = 0; i < 100000000; i++) {}
system("cls"); // 清屏
}
return 0;
}
```
程序中使用了time函数获取当前时间,然后根据信号灯的倒计时时间以及当前颜色,计算出倒计时剩余时间。为了保证输出的信息能够不断更新,程序采用了一个for循环模拟延时,并使用system函数清屏。