1. 程式人生 > 其它 >使用static計算階乘——無參函式寫法

使用static計算階乘——無參函式寫法

技術標籤:經驗分享

使用static計算階乘——無參函式寫法

#include <stdio.h>
double fac();
int main(void)
{
    int i, n;
    double Sum = 0;
    scanf("%d", &n);
    for (i=1; i<=n; i++)
    {
        Sum += 1 / fac();
    }

    printf("S=1/1!+1/2!+...+1/%d!=%.15f", n, Sum);
    return 0;
} 
double
fac( ) { static double f=1.0; static double i=1.0; static int flag=0; if(flag==0) { flag=1; return 1; } if(flag==1) { i=i+1; f=f*i; } return f; }