问答详情
源自:4-10 循环结构之三种循环比较

使用循环计算1-2+3-4+5-6+。。。-100的值?如果i=2(i%2)那么i=0,0是非为什么不是执行第二行代码?

int sum = 0;  //定义计算结果变量sum
    int i = 1;    //定义循环数字变量i
    int flag = 1; //定义符号状态变量flag
    
    //使用while循环
    while(i<=100)
    {
        i++;
        if(i%2)
        {
          sum+=i;  
        }
        else
        {
            sum-=i;
        }
    }


提问者:迷诞 2016-06-20 22:52

个回答

  • qq_Gg兜里有糖_03499312
    2016-06-20 23:14:43
    已采纳

    根据你的,当i=2时   i%2=0 sum=sum+i 即 sum=2    但是 题目中得2前面是负号  应改执行的是 sum=sum-i  这样得到的就是负二   所以if后面的应给是i%2!=0  这样不能被2整除的就执行sum+=i  

    第一种  for(i=1;i<=100;i++)

        {

          if(i%2==0)

          {

              sum -= i;

          }

          else

          {

              sum += i;

          }

        }  

    第二种  

     if(i%2!=0)

          {

              sum += i;

          }

          else

          {

              sum -= i;

          }

        }  

        printf("sum=%d\n",sum); 

    说的不是很明白    你慢慢理解