请编写函数fun,其功能是:计算并输出下列多项式的值, S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n) 例如,若主函数从键盘给n输入8后,则输出为S=0.662872。 注意:要求n的值大于1但不大于100。 请勿改动主函数ma

admin2022-06-24  29

问题 请编写函数fun,其功能是:计算并输出下列多项式的值,
S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)
例如,若主函数从键盘给n输入8后,则输出为S=0.662872。
注意:要求n的值大于1但不大于100。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
double fun(int n)
{
}
main( )
{
int n;double s;
void NONO( );
printf("Input n:");
seaM("%d",&n);
s=fun(n):
printf("\ns=%f\n",s);
NONO( );
}
void NONO( )
{
int n,i;double s;
for(i=0;i<10;i++)
{
s=fun(n);
}
}

选项

答案double fun(int n) { int i: double s=0.0: for(i=1;i<=n;i++) s=s+(1.0/(2*i-1)-1.0/(2*i)); /*计算s=(1-1/2)+(1/3-1/4)+(1/(2n-1)-1/2n)*/ return s: }

解析 对于求多项式值的题目,一般都使用循环语句来累加计算多项式的通项。本题中多项式的通项为1/(2n-1)~1/2n,循环变量的取值范围为1~n。注意存放累加和的变量s要定义为实型,累加时要进行类型转换。
转载请注明原文地址:https://kaotiyun.com/show/NGkp777K
0

最新回复(0)