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