大一新生,关于#c++#的题目,请各位专家解答!

说明:
填写程序中的空格,不要更改与输入和输出相关的语句。
输入正整数重复(0<重复<10),并重复以下操作的次数:
读入正实数eps,计算1-1/3+1/5-1/7+……,直到最后一项的绝对值小于eps(保留小数点后6位)

Input
2 (repeat=2)
1E-4
0.1

Output
0.785348
0.834921

#include <stdio.h>
#include <math.h>
int main( )
{
   int ri, repeat;
   int temp, flag;
   double eps, item, sum;

   scanf("%d", &repeat);
   for(ri=1; ri<=repeat; ri++){
      scanf("%le", &eps);
/*---------*/
      printf("%.6f\n", sum);
   }
}


定义sum的时候要初始化为0,
sum+= pow(-1,ri-1)/(2*ri-1);

sum = 1;
flag = -1;
item = 1;
temp = 1;
while(fabs(item) > eps)
{
    item = flag/(temp*2.0+1);
    sum += item;
    temp++;
    flag *= -1;
}

11行改为scanf("%e",&eps);