为了账号安全,请及时绑定邮箱和手机立即绑定

使用循环计算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;
        }
    }


正在回答

1 回答

根据你的,当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); 

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

0 回复 有任何疑惑可以回复我~
#1

迷诞 提问者

为什么i=2 i%2=0会执行sum=sum+i ?0不是假吗,为什么不执行第二个代码?谢谢
2016-06-24 回复 有任何疑惑可以回复我~
#2

Dexing 回复 迷诞 提问者

你那个 if(i%2) { sum+=i; } If语句后面那个括号里的表达式是当满足i%2==0时执行sum=sum+i;反之就sum=sum-i;
2016-07-18 回复 有任何疑惑可以回复我~
#3

Dexing 回复 Dexing

if(i%2==0) {}
2016-07-18 回复 有任何疑惑可以回复我~
#4

迷诞 提问者

非常感谢!
2016-08-24 回复 有任何疑惑可以回复我~
#5

迷诞 提问者 回复 Dexing

谢谢!
2016-08-24 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信