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

为什么最后结果是+50

   int sum = 0;  

    int i = 1;    

    int flag = 1; 

    for(i=1;i<=100;i++)

    {

        flag*=-1;

        sum+=i*flag;

        

    }  

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

  


正在回答

5 回答

不是少了一个i++,是最后少了一个}

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

少了一个 i++

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

将两执行命令块顺序换一换

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

执行命令块的循序反了,你这样是让flag先为-1进行下去,出来的顺序是-1+2-......+100,

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

因为先对flag进行了符号的转变,所以不是1-2+3-4.....,而是-1+2-3+4......,结果就会反过来是+50

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

举报

0/150
提交
取消

为什么最后结果是+50

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