作业帮 > 综合 > 作业

C程序中的开关灯问题:请问高手我的代码错在那里?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/18 03:03:04
C程序中的开关灯问题:请问高手我的代码错在那里?
Description
n盏灯排成一排,从1到n按顺序依次编号.有n个人也从1到n依次编号.第一个人(1号)将灯全部关闭.第二个人(2号)将凡是2和2的倍数的灯打开.第三个人(3号)将凡是3和3的倍数的灯作相反处理(该灯如为打开的将其关闭;如为关闭的,将其打开).以后的人都和三号一样,将凡是与自己相同的灯和是自己编号倍数的灯作相反处理.请问,当第n个人操作之后,哪几盏灯是点亮的.
我的C程序是:#include
int main()
{
int n,j,i,p=1;
scanf("%d",&n);
for(i=2;i
C程序中的开关灯问题:请问高手我的代码错在那里?
for 语句行,不要加分号.另外逻辑也不太对.看看这个对不对:
注意,为了简单,我把数组的第一个元素忽略了,即:只用到1到99个灯.
#include
#include
int main()
{
int n= 100;
int lights[100];
memset(lights,0,100*sizeof(int));
for (int i=2;i