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

求大神帮忙看下这怎么不对(我这个代码输出数字为50)

 /* 小伙伴们:

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

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

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

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

    

    //使用while循环

    while(i<=100)

    {

        ++i;

        flag*=-1;

        sum+=i*flag;

    }

    

    

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

    

    return 0;    


提问者:emmmmmmok 2019-08-08 22:23

个回答

  • 小神0x00
    2019-08-08 23:17:37
    已采纳

    https://img3.mukewang.com/5d4c3c440001732c06710465.jpg

    flag放在sum下面。在sum上面影响计算,flag一开始就为-1,就不是1-2+3-4+5-6+…-100。

  • 慕盖茨2064999
    2019-09-04 17:29:21

    你这个写的是++i,就变成了-1+2-3+4-...+100,所以结果是50