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

谁能帮我解释下什么意思,脑袋转不过来弯

sum=sum+i*flag;

        flag=flag*(-1);

谁能帮我解释下什么意思,脑袋转不过来弯

提问者:qq__7959 2017-04-12 23:58

个回答

  • 虚伪的笑容
    2017-04-13 07:26:57
    已采纳

    sum=sum+i*flag;  //这是赋值给sum

    flag=flag*(-1);        //这是正负号的变换,如:1,-1, 1,-1........就这样一直到编程结束

  • 虚伪的笑容
    2017-04-13 07:21:52


    #include <stdio.h>
    int main()
    {
        /* 小伙伴们:
               选择你们认为最合理的循环结构完成功能吧 */
        int sum = 0;  //定义计算结果变量sum
        int i = 1;    //定义循环数字变量i
        int flag = 1; //定义符号状态变量flag

        //使用while循环
        while(i<=100)
        {
        flag=(-1)*flag;
            sum=sum-i*flag;
            i++;
        }
       
        i = 1;  //重新初始化变量i

        //do-while循环
        do{
        sum=sum+i*flag;
        flag=(-1)*flag;
            i++;
         }while(i<=100);
        
         i = 1;  //重新初始化变量i

        //使用for循环
        for(i=1;i<=100;i++)
        {
        sum=sum+i*flag;
        flag=flag*(-1);
        } 
        printf("sum=%d\n",sum);

        return 0;   
    }