问答详情
源自:4-6 循环结构之while循环

为啥while循环条件是i<100,而不是i<99 如果是i<100那么当i等于99的时候,99<100,还执行一次i++,那么此时执行完i++语句,sum=sum+i不就吧100也加进去了。然后现在i的值是100,根据i<100不成立,所以退出循环。打印语句100以内的所有整数之和不就错了。

有没有大神解答一下,急急急!!!!!!!!! 有没有大神解答一下,急急急!!!!!!!!! 

#include

int main ()

 {    

int i=0;  

  int sum=0;    

while(i<100)  

  {   

 i++;  

  sum=sum+i;  

  }  

  printf("100以内所有的整数之和为:%d\n",sum);    

return 0;

 }

提问者:weixin_慕哥3139708 2021-01-02 12:22

个回答

  • 孙六耳
    2021-07-26 21:22:21

    i++放sum=i+sum下面就是用i<100

  • 莆小晓
    2021-01-12 15:47:09

    区别:你的 i=0; 你的 i++放在sum=sum+i的前面 先计算i++的值再即i=1,再放到sum里

              题目 i=1; 题目 i++放在sum=sum+i的后面 先计算sum的值即sum=1;再计算i++,即i=2;

    你的这个问题计算i++放在求和前面和后面的问题,

            你的 i=99; 先计算i++,即i=100;再计算sum=sum+i就可以得到100以内的和了.即while(i<100)

            题目i=99;先计算sum=sum+i; 再计算i++,即i现在才等于100;所以要再循环一次才得到100以内得和,所以i要到i=100;while(i<=100)

  • qq_慕仙9261721
    2021-01-09 15:08:06

    原题给的和是5050那就是要从0加到100,若你想只加到99你可以把i++;放到sum+=i;下面或如你所愿的改条件i<99

  • weixin_慕哥3139708
    2021-01-03 14:16:15

    • 大侠,现在i是99进入循环+1变100,在加到sum里不刚好是加到100了吗,那不就多加了一个100吗?题目不是让求100以内的整数和,我就是这个点有点混乱。

  • 慕侠5494168
    2021-01-03 14:02:59

    没看懂你哪里有问题,现在i是99进入循环+1变100,在加到sum里不刚好是加到100了吗,之后不再进入循环输出结果没问题啊