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

来源:4-10 循环结构之三种循环比较

emmmmmmok

2019-08-08 22:23

 /* 小伙伴们:

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

    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;    


写回答 关注

2回答

  • 小神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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题