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