用while循环,不知道哪里错了,求指教

来源:4-10 循环结构之三种循环比较

慕丝6069135

2018-01-24 18:18

#include

int main() 

{    

int sum = 0;      

int i = 1;      

int flag = 1;    //使用while循环    

while(i<=100)    

{       

 if(i%2==0)       

 {          

  flag*=-1;      

  }       

 sum+=i*flag;     

   i++;   

 }   

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

return 0;    

 } 

为什么这个不对呀

写回答 关注

5回答

  • 人总是习惯了口是心非
    2018-02-28 22:09:32

      while(i<=100)
        {
            if(i%2==0)
            {
             sum=sum+i*-1;
             i++;
            }
           else
            {
             sum=sum+i;
             i++;
            }
        }

    没用flag

  • 苦艾酒ver
    2018-02-05 20:04:12

    while(i<=100)

    {

     if(i%2==0)

     {

      flag=-1;

      }

      else{

        flag=1;

      }

     sum+=i*flag;

       i++;

     }

  • 六根弦上麻油叶
    2018-01-25 17:34:51

    flag正负不对

    while(i<=100)
        {
            
            if(i%2!=0)
            {
                sum+=i;
                //printf("+%d\n",i);
            }
            else
            {
                sum-=i;
                //printf("-%d\n",i);
            }
            i++;
            
        }


  • 慕的地3339855
    2018-01-24 20:44:22

    与要求的偶数不同步

  • 慕的地3339855
    2018-01-24 20:40:34

    1.#include   不完整

    2.

    if(i%2==0)       

     {          

      flag*=-1;      

      }       

    这步flag为-1时与奇数不同步

    编译时sum=0+1-2-3+4+5-6-7......-100

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题