100盏灯开关问题——C语言 有编号1~100个灯泡,起初所有的灯都是灭的。有100个同学来按灯泡开关,如果灯是亮的,那么按过开关之后,灯会灭掉。如果灯是灭的,按过开关之后灯会亮。 现在开始按开关。 第1个同学,把所有的灯泡开关都按一次(按开关灯的编号: 1,2,3,...100)。 第2个同学,隔一个灯按一次(按开关...
C语言开灯问题找错描述 有n盏灯,编号1~n。第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关(这些灯将被关掉),第3个人按下所有编号为3的倍数的开关(其中关掉的灯将被打开,开着的灯将被关闭),依次类推。一共有k个人,问最后由哪些灯开着? 输入 n和k,1≤k≤n≤1000。 输出 开着的灯编号。 样...
本文格式为Word版,下载可任意编辑——基于单片机(c语言控制的)一个开关控制的流水灯程序设计及prote #defineuintunsignedint#defineucharunsignedcharsbitkey=P2^0;voiddelay(uintx){ uinti,j; for(i=x;i>0;i--) for(j=110;j>0;j--);} voidshanshuo(){ P1=0x00;delay(500);P1=0xff;delay(500);...
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; //灯号...
unsigned int x, y;for(x = Time; x > 0; x--)for(y = 120; y > 0; y--);} int main(void){ LED1_01 = 1; //打开LED灯点亮 while(1){ if(KEY0_01 == 0) //检测按键是否按下 { Delay_1ms(10); //延时去抖动 if(KEY0_01 == 0) //确定按键按下 { ...
"%d,",j);} return 0;} 太复杂了,由于初始化int a[5001]全部为零,就使用负逻辑 a数组中数值为0代表灯亮,1代表灯灭 开始全亮,无论后面几个人,他么的操作都是将原来的状态取反 完全可以用逻辑操作,这里就有1-a[j]来充当取反1-0=1,1-1=0 最后输出,灯灭就是判断a[j]==1 ...
一个开关灯的c语言问题。。。没有思路~ 一个开关灯的c语言问题。。。没有思路~述 假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。 第一个人(1号)将灯全部关闭,第二个人(2号)将
2、编写相应的代码:#include<reg52.h> //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f; //点亮前面三个灯。这里是十六进制的换算, //不懂得可以查一下资料 }。3、打开烧写软件,点击【打...
开关控制的话就不用编程语言了好吗,因为开关是直接的物理连接,通过电路实现就好,那我就理解成你是想用单片机来实现吧,首先单片机与外设怎样连接我不考虑,因为你没说。那么我就当是我可以随意的使用单片机的输出吧,然后开关闭合理解成按键是高电平,再按一次取反。include<89c51.h> //是不是这...
基于单片机(C语言控制) 89C51与8个发光二极管相连实现一开关花样流水控制程序设计及Proteus仿真实例 一、源程序代码: #include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char sbit key=P2^0; void delay(uint x)...