C语言状态灯,C语言指示灯问题.pdf

C 语言指示灯计算

曹玉坤

2011-7-5

目 录

1 概述3

2 问题描述3

3 问题分析6

4 算法7

5 代码8

6 运行结果图9

1 概述

这个关于指示灯的问题是一个非常典型的算法考验题。需要

考虑对数组的操作。本文就详细的介绍问题的算法及难点。让大

家能够清晰的了解整个算法的形成过程和最后实现。了解数组的

操作,加深对数组的理解。

2 问题描述

指示灯控制

问题描述:

N 1 N N 1

盏灯排成一排,从 到 按顺序依次编号。有 个人也从

N 1 2

到 依次编号。第一个人 (号)将灯全部关闭。第二个人 (号)

2 2 3 3 3

将凡是 和 的倍数的灯打开。第 三个人 (号)将凡是 和 的

倍数的灯做相反的处理 (如果该灯为打开的,则将它关闭;如果该灯

3

为关闭的,则将它打开)。以后的人都和 号一样,将凡是与自 己编

号相同的灯,以及是自己编号倍数的灯做相反处理。请编写程序实现。

要求:程序中要显示每一个人所做工作的过程,例如:当第 个人操i

i i N

作时,则显示将 和 的倍数的灯做相反的处理过程;当第 个人操

作之后,显示灯的最后状态。(建议:采用图形法,显示每一盏灯,

并为每一盏灯加边框,用不同的颜色显示开灯或 关灯)。

N 7

例如:当输入 为 时;

当第一个人操作时

则输出结果为:

1

第 盏灯是黑的

2

第 盏灯是黑的

3

第 盏灯是黑的

4

第 盏灯是黑的

5

第 盏灯是黑的

6

第 盏灯是黑的

7

第 盏灯是黑的

当第二个人操作时

则输出结果为:

1

第 盏灯是黑的

2

第 盏灯是亮的

3

第 盏灯是黑的

4

第 盏灯是亮的

5

第 盏灯是黑的

6

第 盏灯是亮的

7

第 盏灯是黑的

当第三个人操作时

则输出结果为:

1

第 盏灯是黑的

2

第 盏灯是亮的

3

第 盏灯是亮的

4

第 盏灯是亮的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值