定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数fact( n)计算n! ,函数返回值类型是double。
sum=2!1+3!2+…+(n+1)!n
输入格式:
输入在一行中给出一个正整数n。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位,请注意等号的左右各有一个空格。题目保证计算结果不超过双精度范围。
输入样例:
3 |
---|
输出样例:
sum = 0.958333 |
---|
#include<stdio.h>
float fact(int n);
main()
{
int n,i;
scanf("%d",&n);
double sum=0;
for(i=1;i<=n;i++)
{
sum+=i/fact(i+1);
}
printf("sum = %lf",sum);
}
float fact(int n)
{
if(n<=0)
return 0;
else if(n==1)
return 1;
else
return n*fact(n-1);
}