C语言循环结构算法计算圆周率保留12位

img

一个阶乘函数,一个连续奇数相乘

#include <stdio.h>
int main()
{
    int n;
    double item = 0,sum = 0,a = 1,b=1;
    scanf("%ld",&n);
    for(int i=2;i<=n;i++)
    {
        a *= i;
        b *= 2*i-1;
        item = a*1.0/b;
        sum += item;
    }
    printf("PI=%.12lf\n",2*sum);
    return 0;
}

img

代码:

#include <stdio.h>


int main()
{
    double ds = -1;
    double r = 0;
    double t = 0;
    double fz = 2;
    double fm = 3;
    int i = 2;
    while (r - ds > 0.000000000001)
    {
        t += 2.0 * fz / fm;
        ds = r;
        r = t;
        i++;
        fz *= i;
        fm *= (2 * i - 1);
    }
    printf("%.12lf", r);
    return 0;
}