请编写函数proc(),其功能是:计算并输出下列多项式值。 S=(1+1/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n) 例如,若输入10.则输出为S=3.597740。 n的值要求大于1但不大于100。 注意:部分源程序给出如下。

admin2013-03-25  30

问题 请编写函数proc(),其功能是:计算并输出下列多项式值。
    S=(1+1/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n)
例如,若输入10.则输出为S=3.597740。
n的值要求大于1但不大于100。
注意:部分源程序给出如下。
请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句
试题程序:
#include
double proc(int n)
{
}
void main()
{
    int n;
    double s;
    printf("\nInput n:");
    scanf("% d",&n);
    s=proc(n);
    printf("\ns=%f\n",s);
}

选项

答案double proc(int n) { int i; double s=0.0; //s是和的变量,因此其初始值为0 for(i=1;i<=n;i++) //从第1项到第n项 s=s+(1.0/(2*i一1)+1.0/(2*i)); //根据题目的要求把分子、分母转化为符合题意的类型 return s; //最后把其值返回到主函数 }

解析 首先定义一个变量来存放表达式的和,根据题目中提供的多项式,通过n次循环来求出n项的和。最后把所求得的和返回到主函数当中。
转载请注明原文地址:https://kaotiyun.com/show/wXJp777K
0

最新回复(0)