爱问知识人 爱问教育 医院库

请编程高手进来看一下,帮个忙谢谢啦

首页

请编程高手进来看一下,帮个忙谢谢啦

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的值为多少?

请高手帮忙解答一下,并具体解释一下原因,好好讲讲这两个题,谢谢啦

提交回答
好评回答
  • 2006-09-26 22:42:38
      (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
    。
      

    寒***

    2006-09-26 22:42:38

其他答案

    2006-09-27 20:57:50
  • 只解释一下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句是肯定成立的。
    

    已***

    2006-09-27 20:57:50

  • 2006-09-26 18:36:06
  • 自己运行一下不就知道了,在程序最后加上printf("%d",i);就可以显示出来了,原因都是简单的逻辑不会看不懂吧。

    S***

    2006-09-26 18:36:06

  • 2006-09-26 17:35:36
  • 非常复杂。只好独立思考了。好运!

    江***

    2006-09-26 17:35:36

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):