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

这题是计算循环计算1-2+3-4+5-6+…-100的值,答案里面是这样的代码,我觉得是错的,我认为如果这样循环的话,应该是计算2-3+4-5+6,因为1已经在第一步i++变2了,有没有谁可以指出我的想法哪里错了?

#include <stdio.h>

int main()

{

    /* 小伙伴们:

           选择你们认为最合理的循环结构完成功能吧 */

    int sum = 0;  //定义计算结果变量sum

    int i = 1;    //定义循环数字变量i

    int flag = 1; //定义符号状态变量flag

    

    //使用while循环

    while(i<=100)

    {

        i++;

        sum+=i*flag;

        flag *=-1;

        

    }


正在回答

9 回答

int i=0;  就可以了

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

看教程,清清楚楚写着先执行for()  括号中的东东,管你++i 还是i++,"括号"优先

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

中间空的那行写成sum=i呢,能不能解决?

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

      我的答案是这个样子的

       sum=sum+i*flag;

        flag =-flag;

         i++;


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

画画好

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

i++放到Flag*=后面,

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

应该是把i++放到flag*=-1;后面

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

我也觉得答案错了,虽然算出来的数是对的,我在每一步中都输出了sum,结果是从2开始算的,每一步都输出i的 话也是从2开始

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

i++和++i不同

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

福工刘德华 提问者

i++的确是先取值后运算,但是按照循环里面看的话,sum的值也是从0+2开始的所以你怎么看?
2017-08-25 回复 有任何疑惑可以回复我~
#2

qq_Outsider_10 回复 福工刘德华 提问者

我说错了没认真看题,丢脸⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄
2017-08-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这题是计算循环计算1-2+3-4+5-6+…-100的值,答案里面是这样的代码,我觉得是错的,我认为如果这样循环的话,应该是计算2-3+4-5+6,因为1已经在第一步i++变2了,有没有谁可以指出我的想法哪里错了?

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