作业帮 > 综合 > 作业

C语言:有从1到n次编号的n个同学和n盏灯

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/23 21:43:56
C语言:有从1到n次编号的n个同学和n盏灯
main()
{
int a[10],i,j;
for(i=1;i=i;j--)
{
a[j-1]=1;
if(j%i==0)
a[j-1]=1-a[j-1];
}
}
for(i=0;i
C语言:有从1到n次编号的n个同学和n盏灯
#include <iostream.h>

void main()
{
int a[10]={0};  //1号同学将所有灯关掉,所以数组初始值都为0 
int i,j;
for(i=1;i<10;i++)  /*从第2个同学(也就是a[1])开始循环,因为只有2号同学以后的才是同一处理规则*/
{
for(j=9;j>=i;j--)  //直接从j=9开始
{
//a[j-1]=1;  //只有为倍数的才打开,所以这句话不要
if(j%i==0)
a[j]=1-a[j];
}
}
for(i=0;i<10;i++)
{
cout<<a[i]<<endl;
}
}
再问: 有你的提示我改了一下成功了! int a[10]={0}; int i,j; for(i=1;i=i;j--) { if(j%(i+1)==0) a[j-1]=1-a[j-1]; } } 多谢!
再答: 把if(j%i==0)改成if((j+1)%(i+1)==0)就好啦,因为我们的i和j是下标,比第i个或是第j个同学的序号都要小1,所以判断倍数时应该+1 嘿嘿 失误了