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

每次循环改变循环变量的正负号的方法有哪些?

以本题为例,每次循环改变循环变量的正负号的方法有哪些?


提问者:风雨中的追逐者 2016-06-21 11:17

个回答

  • 慕粉3180575
    2016-06-22 18:08:11
    已采纳

    为什么系统出的结果是sum=-150 ,求大神指教!!

  • 我好菜啊
    2016-07-18 17:14:49

    因为你每个循环都做了一次,然而在do while循环和for循环的时候你没有重置初始化sum的值,导致do while循环体内的sum直接从50开始叠加。

  • super小智
    2016-06-21 11:42:42

    //使用while循环
        while(i<=100)
        {
            i++;
            sum=sum+i*flag;
            flag=flag*(-1);
        }
        printf("sum=%d\n",sum);
        i = 1;  //重新初始化变量i
        
        //do-while循环
        do{
            i++;
            sum=sum+i*flag;
            flag=flag*(-1);
        }while(i<=100);
        printf("sum=%d\n",sum);
        i = 1;  //重新初始化变量i
        
        //使用for循环
        for(i=1;i<=100;i++)
        {
            sum=sum+i*flag;
            flag=flag*(-1);
        }