永发信息网

帮我看下这个程序

答案:3  悬赏:0  手机版
解决时间 2021-04-12 18:08
  • 提问者网友:川水往事
  • 2021-04-11 20:49


#include "stdio.h"
void main()
{int i=5,j=0;
do
{
j=j+i;
i--;
}
while(i>2);
printf("%d\n",j);

}和
#include "stdio.h"
void main()
{int s=0,i=1;
do
{
s=s+i;
i++;
}
while(i<=100);
printf("s=%d",s);

}有什么不同

为什么第一个是等于12

最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-04-11 22:22

前者是从大到小累加,后者是从小到大累加.


第一个结果其实就是5,4,3之和,当然等于12啦,当s=s+i;运算到3的时候,后面的i--;令i=2,以至while(i>2);结束了循环

全部回答
  • 1楼网友:独行浪子会拥风
  • 2021-04-12 00:15

当然不同!

第一次循环:j=j+i=5+0=5; i=i=1=4;

第二次循环:j=j+i=5+4=9;i=i-1=3;

第三次循环:j=j+i=9+3=12;i=i-1=2;

循环终止。

j值便是12.

  • 2楼网友:醉吻情书
  • 2021-04-11 23:29

第一个: i=5 i初始化为5; j为0;

然后一个do while循环, 当 i 大于2时 循环将 i 累加到j中.

由于条件while(i>2); 所以循环3次, i的值分别是 5 4 3;

因此j=5+4+3=12.

而第二个,i从1循环到100. 也就是将1到100累加到S中.

两个程序的循环条件不同!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯