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

求解题思路

任务

使用循环计算1-2+3-4+5-6+…-100的值?

在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。

运行结果为: sum=-50 

#include <stdio.h>

int main()

{

    /* 小伙伴们:

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

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

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

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

    

    //使用while循环

    while(i<=100)

    {

         

        if(i%2!=0)

        {

            sum+=i;

            //printf("+%d\n",i);

        }

        else

        {

            sum-=i;

            //printf("-%d\n",i);

        }

        i++;

        

    }

    

    i = 1;  //重新初始化变量i

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

    

    return 0;    

}


提问者:城东有家可乐店 2016-11-21 18:57

个回答

  • 乍回身
    2016-11-21 21:45:58
    已采纳

    首先  i  的递增很容易解决,那么主要问题在于如何使  i  呈现出正负交替的状态,这是候引入了状态变量flag,flag就是改变数值的正负的一个便捷的量,通过flag *= -1;     i *= flag;   就能使得  i  的指实现间隔的正负,

    我flag以立,i 还不快快转变  哼╭(╯^╰)╮