7-2 近似求PI (10分)

    科技2025-04-16  14

    7-2 近似求PI (10分)

    本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。

    输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入:

    scanf("%le", &eps);

    输出格式: 在一行内,按照以下格式输出π的近似值(保留小数点后5位):

    PI = 近似值 输入样例:

    1E-5

    输出样例:

    PI = 3.14158

    答案:

    #include<stdio.h> double fact(int i); double odd_multiple(int h); int main() { double eps,j=1,k=1,sum=1,PI; int i=1; scanf("%le",&eps); while(j/k>=eps){ j=fact(i); k=odd_multiple(i+1); sum=sum+j/k; i++; } PI=2*sum; printf("PI = %.5lf",PI); return 0; } double fact(int i) { double j=1; for(;i>1;i--) { j=j*i; } return (j); } double odd_multiple(int h) { double k=1; for(;h>1;h--){ k=k*(2*h-1); } return (k); }
    Processed: 0.009, SQL: 8