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

一个问题的问题

include <stdio.h>

int main()

{

    

    int sum = 0;  

    int i = 1;    

    int flag = 1; 

    

    while(i<=100)

{

    if(flag==1)

{

   i++;

   sum+=i;

   flag==0

}

    else(flag==0)

{

    i++;

    sum=sum-i;

    flag==1;

}


}

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

    return 0;    

}

各位大神,帮我看看错在哪里......

提问者:黑巫 2015-07-31 17:23

个回答

  • Perona
    2015-07-31 17:39:05
    已采纳

    虽然不知道你这些代码大概是想干嘛,只能跟你说if里面 flag==0缺了分号。

    其实不用那么麻烦的,直接一个while就可以了,这个代码你参考下

    #include <stdio.h>
    int main()
    {
        int sum = 0;  //定义计算结果变量sum
        int i = 1;    //定义循环数字变量i
        int flag = 1; //定义符号状态变量flag
        
        //使用while循环
        while(i<=100)
        {
            sum=sum+flag*i;
            flag=-flag;
            i++;
            
        }
    
        
        printf("sum=%d\n",sum); 
        
        return 0;    
    }


  • 黑巫
    2015-08-02 16:12:57

    谢各位

  • 温暖的骨头
    2015-07-31 17:36:17

    还是要细心啊

    首先第一行,缺了个井号 #,应该是#include

    然后判断体内的flag==0应该是flag=0,一个等号是赋值。

    还有一些语句后面缺失了分号,自己补全就可以了。

  • 化龙贝
    2015-07-31 17:29:46

    接一楼,问题错误信息也贴出来撒

  • 温暖的骨头
    2015-07-31 17:28:29

    兄弟,你的提问标题也太敷衍了- -下次写个真诚点的标题啊