这道c怎么写,没啥思路

img

#include <stdio.h>
#include<math.h>
int main()
{
    int n=1;
    double a,s=0;
    do{
        a=pow(-1,n-1)*(2*n+1)*1.0/((2*n)*(2*n));
        s+=a;
        n++;
    }while(fabs(a)>pow(10,-3));
    printf("%lf",s);
}

代码没问题,但是我输出的结果是0.552689......


觉得有用的话采纳一下哈

可以给你提供一个思路:
float sum作为最后结果。
用一个for或者while循环,每次循环i++。
float 一个 temp变量,用于存储循环内的计算结果。
在每一个循环内部,temp都是n的那个式子,(-1)^n-1则可以用i的整除来判断是-1还是1。如果判断temp<=10^-3,就跳出循环。
循环的最后需要sum+=temp。