杭电短学期:算法及编程.docVIP

  • 50
  • 0
  • 约5.17千字
  • 约 10页
  • 2018-06-19 发布于湖北
  • 举报
1.指示灯控制 一.问题描述: N盏灯排成一排,从1到N按顺序依次编号。有N个人也从1到N依次编号。第一个人(1号)将灯全部关闭。第二个人(2号)将凡是2和2的倍数的灯打开。第三个人(3号)将凡是3和3的倍数的灯做相反的处理(如果该灯为打开的,则将它关闭;如果该灯为关闭的,则将它打开)。以后的人都和3号一样,将凡是与自己编号相同的灯,以及是自己编号倍数的灯做相反处理。请编写程序实现。要求:程序中要显示每一个人所做工作的过程,例如:当第i个人操作时,则显示将i和i的倍数的灯做相反的处理过程;当第N个人操作之后,显示灯的最后状态。(建议:采用图形法,显示每一盏灯,并为每一盏灯加边框,用不同的颜色显示开灯或关灯)。 二.功能描述: 实现对路灯的控制 三.解决方案(流程图) 先定义一个函数来实现对指示灯的控制,该函数用到了for循环语句,取余(因为跟倍数有关),还有if语句,定义一个指针*light来存放灯亮灭的情况,并为其分配动态内存。最后在主函数中进行函数调用来完成编程。 四.主要函数描述 colloc 动态内存分配函数 可分配连续的存储空间 free 释放动态分配函数存储空间 主要技术问题 程序代码 #includestdio.h #includestdlib.h int main(void) { int i,N,*light; void on_off(int n,int

文档评论(0)

1亿VIP精品文档

相关文档