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

求大神 那里错了

#include <stdio.h>
int main()
{
   
    int sum = 0;  //定义计算结果变量sum
    int i = 1;    //定义循环数字变量i
    int flag = 1; //定义符号状态变量flag

    do
    {
        sum=sum+flag*i;
        i++;
        flag=-flag;
    }while(i<=100);
   
    printf("%d\n",sum);
   
}

提问者:h永不回头 2015-10-15 15:25

个回答

  • peng211985
    2016-01-07 20:27:43

    #include<stdio.h>
    int main()
    {
       int i=1;
       int sum=0;
       int flag=1;
       for(i=1;i<=100;i++)
       {
         sum+=i*flag;
         flag*=-1;
        }
        printf("sum=%d\n,sum");
      return 0;
      }


  • super珊__
    2015-11-01 11:24:47

    我刚才复制你的代码去运行了一一次  发现没错啊   是不是你的编译器有问题?

  • MLKG88
    2015-10-15 16:47:04

    建议将代码"flag=-flag;" 改成 flag = pow(-1 , i-1);改了之后你再试试,应该就可以了

  • Perona
    2015-10-15 15:37:32

    代码没错,是网站的验证问题。一定要输出sum=-50才行。所以要把这一行

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

    改成

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