"C语言智能交通灯源代码,适合初学者练习,帮助编写小程序"

1星 需积分: 48 6 下载量 187 浏览量 更新于2024-02-01 2 收藏 165KB DOC 举报
#include <stdio.h> #include <stdlib.h> // 定义交通灯的三种状态 #define RED 0 #define YELLOW 1 #define GREEN 2 // 交通灯结构体 typedef struct { int status; // 交通灯状态 int time; // 交通灯持续时间 } TrafficLight; // 初始化交通灯 void init(TrafficLight *tl) { tl->status = RED; tl->time = 0; } // 切换交通灯状态 void changeStatus(TrafficLight *tl) { switch (tl->status) { case RED: tl->status = GREEN; tl->time = 10; break; case GREEN: tl->status = YELLOW; tl->time = 3; break; case YELLOW: tl->status = RED; tl->time = 5; break; } } // 更新交通灯状态 void update(TrafficLight *tl) { tl->time--; if (tl->time <= 0) { changeStatus(tl); } } // 打印交通灯状态 void printStatus(TrafficLight *tl) { switch (tl->status) { case RED: printf("当前交通灯状态为:红灯\n"); break; case YELLOW: printf("当前交通灯状态为:黄灯\n"); break; case GREEN: printf("当前交通灯状态为:绿灯\n"); break; } } int main() { TrafficLight tl; init(&tl); int i; for (i = 0; i < 20; i++) { update(&tl); printStatus(&tl); } return 0; } 本程序是一个简单的智能交通灯模拟程序,使用C语言编写。程序中定义了交通灯的三种状态(红灯、黄灯、绿灯),并通过结构体来表示交通灯的状态和持续时间。程序中包括了初始化交通灯、切换交通灯状态、更新交通灯状态和打印交通灯状态等函数。 在main函数中,我们首先初始化了一个交通灯对象,并模拟了20个时间单位的状态更新过程。在每个时间单位,程序会先更新交通灯的状态,然后打印出当前交通灯的状态。 通过这个程序,我们可以很好地理解交通灯的工作原理,以及如何使用C语言来模拟和控制交通灯的状态。这对于初学者来说是一个很好的练习项目,可以帮助他们加深对C语言的理解和掌握。 希望这个简单的智能交通灯模拟程序能对C语言爱好者有所帮助,也希望大家可以通过这个程序加深对C语言的学习和理解。如果有任何问题或建议,欢迎大家留言讨论。