为什么最后结果是+50

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

慕UI2492741

2022-08-11 15:18

   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回答

  • 琉璃年华3328583
    2022-11-18 20:32:21

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

  • 琉璃年华3328583
    2022-11-18 20:28:51

    少了一个 i++

  • 琉璃年华3328583
    2022-11-18 20:24:57

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

  • 琉璃年华3328583
    2022-11-18 20:23:53

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

  • HandsomeRed
    2022-08-12 13:51:19

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

C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题