杀死庸俗 发表于 2022-2-4 14:39:16

s1e16动动手第二题

我不知道我这么写到底哪里有问题,算出来的结果不对
#include<stdio.h>
#include<math.h>

int main()
{
        double n=1, count=0;
        int i=1;
       
        for(n=1; fabs(i/n)>= pow(10,-8); n=n+2)
        {
                count = count + i/n ;
                i=-i;
        }
        printf("%10.7lf", count);
       
        return 0;
}

傻眼貓咪 发表于 2022-2-4 14:59:15

答案是什么?

傻眼貓咪 发表于 2022-2-4 15:02:51

不知道是不是你要的:#include <stdio.h>
#include <math.h>

int main()
{
    double sum = 0, sign = 1;
   
    for (int n = 1; 1./n >= 1e-8; n += 2, sign *= -1)
    sum += (1./n)*sign;
   
    printf("pi = %2.7lf", sum*4);
   
    return 0;
}

杀死庸俗 发表于 2022-2-4 16:04:36

傻眼貓咪 发表于 2022-2-4 15:02
不知道是不是你要的:

谢谢了{:10_254:}

杀死庸俗 发表于 2022-2-4 16:09:14

傻眼貓咪 发表于 2022-2-4 15:02
不知道是不是你要的:

我才发现自己这个算的是Π/4的值,没有乘4才导致了结果不对{:10_266:}昏头了
页: [1]
查看完整版本: s1e16动动手第二题