c语言关灯问题 怎样表示灯的开关呢 最好写出代码~

如题所述

#include<stdio.h>
void main()
{ int n,b,s; //n总灯数,b开始数的灯号,s间隔
int a[256],i,k,m,p; //a存放灯号,k当前数到位置,m当前数到亮灯计数,p熄灭灯数
scanf("%d%d%d",&n,&b,&s); if ( n>256 ) n=256; //约数最多256盏灯
for ( i=0;i<n;i++ ) a[i]=i; //灯号赋值
k=b; m=s; p=0;
while ( p<n ) //当还有灯没有熄灭时循环
{ if ( m==s ) { printf("%d ",a[k]); a[k]=(-1); p++; m=0; } //数到了,输出位置,标记熄灭
else { do { k++; k%=n; } while ( a[k]<0 ); m++; } //向后数并折返,只有亮的灯m才计数
}
printf("\n");

}
温馨提示:答案为网友推荐,仅供参考
相似回答