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

我这个怎么运行出来了-100?

#include <stdio.h>

int main()

{

    /* 小伙伴们:

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

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

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

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

    

    //使用while循环

    while(i<=100)

    {

        i++;

       sum+=i;

       i++;

       sum-=i;

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

    }

    

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

    

    //do-while循环

    do

    {

        i++;

        sum+=i;

        i++;

        sum-=i;

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

    }

    while(i<=100);

    

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

    

    //使用for循环

    for(i=1;i<=100;i++)

    {

    sum+=i;

    sum-=i++;

    }  

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

    

    return 0;    


提问者:慕田峪7167812 2020-06-14 09:15

个回答

  • 努力学习的小白0622
    2020-06-14 12:17: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){ //若i是偶数,sum=sum-i;

                sum-=i;     

            }else{      //否则是基数,执行sum=sum+i;

                sum+=i;

            }

            i++;

            

        }

        printf("while循环的sum=%d\n",sum);

        

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

        sum=0;  //初始化 sum,避免上面循环结果影响下面。

        

        //do-while循环

        do{

            if(i%2==0){ //若i是偶数,sum=sum-i;

                sum-=i;     

            }else{      //否则是基数,执行sum=sum+i;

                sum+=i;

            }

            i++;

            

        }while(i<=100);

        printf("do-while循环的sum=%d\n",sum);

        

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

        sum=0;  //初始化 sum,避免上面循环结果影响下面。

        

        //使用for循环

        for(i=1;i<=100;i++)

        {

            if(i%2!=0){

                sum+=i;

            }else{

                sum-=i;

            }

            

        }  

        printf("for循环的sum=%d\n",sum);

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

        

        return 0;    

    }


  • xinx011011
    2020-06-17 22:09:54

    o哦哦哦哦

  • 慕田峪7167812
    2020-06-14 13:22:27

    谢谢啊,前面学的自己却不会用,果然还是脑子不够用。

  • 慕田峪7167812
    2020-06-14 09:16:42

    我啥也不懂,这两天刚学的,请各位大哥支援。