📌 使用说明:
① 编辑代码:直接在代码区点击即可编辑,支持Tab键缩进(4个空格)
② 运行测试:点击"运行测试"按钮,会进行语法检查并模拟运行
③ 复制代码:点击"复制代码"按钮,一键复制到剪贴板
④ 真正编译:本编辑器为模拟运行环境,如需精确结果,请复制代码到 Dev-C++、Code::Blocks 或在线C++编译器中真正编译运行
⑤ 查看提示/答案:遇到困难可以点击"查看提示",完成后可以对照"查看答案"
💡 思路梳理提示
📝 填空1(红灯时间到了→切换):
红灯亮了3秒后,应该切换到什么灯?红绿灯的顺序是:红灯→绿灯→黄灯→红灯...
👉 想想:红灯之后是什么灯?那个灯的state编号是多少?(0=红灯,1=绿灯,2=黄灯)
📝 填空2(绿灯时间到了→切换):
绿灯亮了5秒后,应该切换到什么灯?绿灯之后是黄灯,提醒司机准备停车。
👉 想想:绿灯之后是什么灯?那个灯的state编号是多少?
📝 填空3(黄灯时间到了→切换):
黄灯亮了2秒后,应该切换到什么灯?黄灯之后又回到红灯,开始新一轮循环。
👉 想想:黄灯之后是什么灯?那个灯的state编号是多少?
💡 记住:每次切换状态后,time要重置为0,重新开始计时!状态编号:0=红灯,1=绿灯,2=黄灯
🔒
查看答案需要密码
请向家长/老师索取本节课密码
❌ 密码错误,请重试
✅ 参考答案
三个填空处的答案已补全,每行都有注释说明
🔐 本题详细解析 · 智能红绿灯
先看模拟法四步思路,再对照带注释的参考答案
📖 做题思路(模拟法四步)
第①步 定义状态:用 state 表示当前灯色(0=红,1=绿,2=黄),用 time 表示这个灯已经亮了几秒。初始 state=0(红灯),time=0。
第②步 循环模拟每秒:用 for(second=1; second<=15; second++) 一秒一秒往后走,每一秒先根据 state 输出当前灯色,再把 time++。