请编程高手进来看一下,帮个忙谢谢啦
2个问题 1: main() { int a,b,c,d,i; a=b=c=d=i=0; while(1) { if(a<5 && b>a){c=1;} if(b<=a){d=1;} if(c){a=a+1;b=0,c=0;} if(d){b=b+1,d=0;} i=i+1; if(a==5){break;} } } 以上程序执行后i的值为多少? 2: main() { int a,b,c,d,i; a=b=c=d=i=0; while(1) { if(a<5 && b>a){c=1;} if(c){a=a+1;b=0,c=0;} if(b<=a){d=1;} if(d){b=b+1,d=0;} i=i+1; if(a==5){break;} } } 以上程序执行后i的值为多少? 请高手帮忙解答一下,并具体解释一下原因,好好讲讲这两个题,谢谢啦
(1) 第1次循环:a=0,b=1,c=0,d=0 第2次循环:a=1,b=0,c=0,d=0 第3次循环:a=1,b=1,c=0,d=0 第4次循环:a=1,b=2,c=0,d=0 第5次循环:a=2,b=0,c=0,d=0 第6次循环:a=2,b=1,c=0,d=0 第7次循环:a=2,b=2,c=0,d=0 第8次循环:a=2,b=3,c=0,d=0 第9次循环:a=3,b=0,c=0,d=0 第10次循环:a=3,b=1,c=0,d=0 第11次循环:a=3,b=2,c=0,d=0 第12次循环:a=3,b=3,c=0,d=0 第13次循环:a=3,b=4,c=0,d=0 第14次循环:a=4,b=0,c=0,d=0 第15次循环:a=4,b=1,c=0,d=0 第16次循环:a=4,b=2,c=0,d=0 第17次循环:a=4,b=3,c=0,d=0 第18次循环:a=4,b=4,c=0,d=0 第19次循环:a=4,b=5,c=0,d=0 第20次循环:a=5,b=0,c=0,d=0 a=5,跳出循环,此时i=20 (2) 第1次循环:a=0,b=1,c=0,d=0 第2次循环:a=1,b=1,c=0,d=0 第3次循环:a=1,b=2,c=0,d=0 第4次循环:a=2,b=1,c=0,d=0 第5次循环:a=2,b=2,c=0,d=0 第6次循环:a=2,b=3,c=0,d=0 第7次循环:a=3,b=1,c=0,d=0 第8次循环:a=3,b=2,c=0,d=0 第9次循环:a=3,b=3,c=0,d=0 第10次循环:a=3,b=4,c=0,d=0 第11次循环:a=4,b=1,c=0,d=0 第12次循环:a=4,b=2,c=0,d=0 第13次循环:a=4,b=3,c=0,d=0 第14次循环:a=4,b=4,c=0,d=0 第15次循环:a=4,b=5,c=0,d=0 第16次循环:a=5,b=1,c=0,d=0 a=5,跳出循环,此时i=16 。
只解释一下while里面的循环就是了,其他的应该能看懂吧。 第一题 从楼上的朋友的答案中能看出是a在递增,既然这样,a就肯定小于5,不然就break了。 由于只是循环,规律一样,所以就只解释一下每句的意思,然后说说重点的前2次循环和一些关键部分。我把这6句写了编号。 1。if(aa){c=1;} 当b>a的时候,C为1,但是第一次循环,一开始都是0,所以C还是为0 2。if(ba){c=1;} 2 if(c){a=a+1;b=0,c=0;} 3 if(ba,则a自加1,然后2,3,4句就有了关联,可以看成一个整体,即第2句把b变为0,然后第4句把b变为1,第2次循环以后,第3句是肯定成立的。
自己运行一下不就知道了,在程序最后加上printf("%d",i);就可以显示出来了,原因都是简单的逻辑不会看不懂吧。
非常复杂。只好独立思考了。好运!
答:内存泄漏?详情>>
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>