杭电 1012 u Calculate e【算阶乘】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1012

解题思路:对阶乘递归求和

反思:前面3个的输出格式需要注意,可以自己单独打印出来,也可以在for循环里面更改输出小数的位数,另外读题还是要仔细,输出的有9位小数。

#include<stdio.h>

double sum(int n)

{

    int i;

    double x=1,s=0;

    if(n==0)

    return 1;

    else

    {

        s=1;

    for(i=1;i<=n;i++)

    {

        x*=1.0/i;

        s+=x;

    }

    return s;

    }

}

int main()

{

    int i;

    double ss=0;

    printf("n e\n");

    printf("- -----------\n");

    printf("0 1\n");

    printf("1 2\n");

    printf("2 2.5\n");

    for(i=3;i<=9;i++)

    {

        ss=sum(i);



        printf("%d %.9lf\n",i,ss);

    }



}

  

你可能感兴趣的:(杭电)