题目链接: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
");
printf("- -----------
");
printf("0 1
");
printf("1 2
");
printf("2 2.5
");
for(i=3;i<=9;i++)
{
ss=sum(i);
printf("%d %.9lf
",i,ss);
}
}