niusouti.com

请编写函数fun(),其功能是;计算井输出下列多项式值。S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)例如,若主函数从键盘给n输入8后,则输出为 S-0.662872。注意;部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。试题程序;include<stdio. h>double fun(int n){}main (){int n;double s;printf("\nInput n: ");scanf ("%d

题目

请编写函数fun(),其功能是;计算井输出下列多项式值。

S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)

例如,若主函数从键盘给n输入8后,则输出为 S-0.662872。

注意;部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

试题程序;

include<stdio. h>

double fun(int n)

{

}

main ()

{

int n;

double s;

printf("\nInput n: ");

scanf ("%d", &n);

s=fun (n);

printf ("\ns=%f\n ", s);

}


相似考题
更多“请编写函数fun(),其功能是;计算井输出下列多项式值。 S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n) 例 ”相关问题
  • 第1题:

    请编写函数fun,其功能是:计算并输出下列多项式的值:

    例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。

    注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是计算并输出多项式值。根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。

  • 第2题:

    请编写函数fun(),其功能是计算并输出下列多项式的值: F=1+1/1!+1/21+1/31+1/41+…+1/m! 例如,若主函数从键盘给m输入5,则输出为F=2.716667。 注意:m的值要求大于1但不大于100。部分源程序给出如下。 请勿改动main()函数与其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。 试题程序:


    正确答案:

    【解析】该程序的功能是计算并输出多项式的值。该题的解题思路是根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。
    根据题干中给出的数列,推出每一项是阶乘的倒数,所以首先在循环中求得每一项的阶乘。其中阶乘的计算公式
    定义为:
    m!=m*(m=1)*(m=2)*…*1(m>1)
    m!=1(m=1)
    公式分为参数m是1和大于1的两种情况,例如.1的阶乘1!=1;5的阶乘5!=5*4*3*2*1。
    然后求得阶乘分之一的累加和。

  • 第3题:

    4、计算:s=1-1/2+1/3-1/4...-1/100,输出s的值。


    (1) 正确的数据说明及初始化 ( 1 分 ) (2) 正确的循环控制结构 ( 2 分 ) (3) 正确的计算方法 ( 2 分 ) (4) 正确的输出 ( 1 分 ) (5) 程序风格 ( 1 分 )

  • 第4题:

    请编写函数fun(),其功能是:计算并输出下列多项式值。

    S=(1+1/2)+(1/3+1/4)+…+(1/(2n-1)+l/2n)

    例如,若主函数从键盘给n输入12后,则输出为 S=3.775958。

    n的值要求大于1但不大于100。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<stdio.h>

    double fun(int n)

    {

    }

    main()

    {

    int n;

    double s;

    printf("\nlnput n:");

    scanf("%d",&n);

    s=fun(n);

    printf("\ns=%f\n",s);

    }


    正确答案:double fun(int n) { int i; double s=0.0; for(i=1;i=n;i++) /*计算S=(1+l/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n)*/ s=s+(1.0/(2*i-1)+1.0/(2*i)); return s; }
    double fun(int n) { int i; double s=0.0; for(i=1;i=n;i++) /*计算S=(1+l/2)+(1/3+1/4)+…+(1/(2n-1)+1/2n)*/ s=s+(1.0/(2*i-1)+1.0/(2*i)); return s; } 解析:本题中s=s+(1.0/(2*i-1)+1.0/(2*i));语句是用C程序去表达题目中的每一项,这是关键,其他问题不难理解。

  • 第5题:

    请教:2016年计算机二级考试C++模拟试题简答题1答案

    请编写函数fun,其功能时:计算并输出当x<0.97时下列多项式的值,直到|sn-s(n-1)|<0.000001为止。

    Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)


      .double fun(double x)

      {double s1=1.0,p=1.0,sum=0.0,s0,t=1.0;

      int n=1;

      do

      {s0=s1;

      sum+=s0;

      t*=n;

      p*=(0.5-n+1)*x;

      s1=p/t;

      n++;}while(fabs(s1-s0)>1e-6);

      return sum;}