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

admin2019-06-12  28

问题 请编写函数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 NON()();
  printf("Input n:");
  scanf("%d",&n);
  s=fun(n);
  printf("\ns=%f\n",s);
  NONO();
}
void NON()()
{
  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/2 n)*/ return s: }

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

最新回复(0)