下列给定程序中,fun()函数的功能是:根据形参m,计算下列公式的值。t=1-1/2+1/3-1/4+…+(-1)(m+1)/m例如,若输入5,则应输出0.783333。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <conio.h>include <stdio.h>/*************found*************/int fun(int m){double t=1.0,j=1.0;int i;/****

题目

下列给定程序中,fun()函数的功能是:根据形参m,计算下列公式的值。

t=1-1/2+1/3-1/4+…+(-1)(m+1)/m

例如,若输入5,则应输出0.783333。

请改正程序中的错误,使它能得到正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

试题程序:

include <conio.h>

include <stdio.h>

/*************found*************/

int fun(int m)

{

double t=1.0,j=1.0;

int i;

/*************found*************/

for(i=l;i<m;i++)

{j=-1*j;t+=j/i;}

return t;

}

main()

{

int m;

clrscr();

printf("\nPlease enter 1 integer number:");

scanf("%d",&m);

printf("/nThe result is%If\n",fun(m));

}


相似考题
更多“下列给定程序中,fun()函数的功能是:根据形参m,计算下列公式的值。 t=1-1/2+1/3-1/4+…+(-1)(m+1)/ ”相关问题
  • 第1题:

    下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值。

    t=1-1/(2×2)-1/(3×3)-…-l/(m×m)

    请改正函数fun()中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <conio.h>

    include <stdio.h>

    double fun(int m)

    { double y=1.O;

    int i;

    /*************found**************/

    for(i=2;i<m;i++)

    /************found**************/

    y-=1/ (i*i);

    return(y);

    }

    main()

    { int n=5;

    clrscr();

    printf("\nThe result is %1f\n", fun(n));

    }


    正确答案:(1)错误:for(i=2;im;i++) 正确:for(i=2;i=m;i++) (2) 错误:y-=1/(i*i); 正确:y-=1.0/(i*i);
    (1)错误:for(i=2;im;i++) 正确:for(i=2;i=m;i++) (2) 错误:y-=1/(i*i); 正确:y-=1.0/(i*i); 解析:该题是一道简单的计算题,循环条件for(i=2;im;i++)中忽略了i=m时的一种情况,因为题目中i是从2到m的一个计算公式,y-=1/(i*i);的错误很明显,是语法错误,由定义double y=1.0可知,应该是y-=1.0/(i*i);,而非y-=1/(i*i);。

  • 第2题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m,计算如下公式的值。

    例如,若m中的值为:5,则应输出:1.463611。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)for(i=2; i=m; i++)(2)y+=1.O/(i*i);
    (1)for(i=2; i=m; i++)(2)y+=1.O/(i*i); 解析:该题中函数功能是计算公式的值。其中,公式中涉及在循环中对各项的计算及累加求和。从已给定源程序的main主函数开始入手,“printf(〝\nThe result is%1f\n〞,fun(n));”语句中调用fun函数,计算公式的值。

  • 第3题:

    下列程序的功能是求算式:1-1/2+1/3-1/4+....前30项之和。请在空白处填入适当的语句,使程序可以完成指定的功能。 Private Sub Command1_Click() Dim i as Integer, s As Single, f As Integer s = 0 : f = 1 For i = 1 To 30 s = s + f/i f =() Next i Debug.Print “1-1/2+1/3-1/4+…=”; s End Sub


    根据题意, s=s+ 1 n n=n+2 ∴数列为 { 1 2n } 又∵K≤10 ∴计算的是求数列 { 1 2n } 的前10项和(n∈N * ) 故答案为:B

  • 第4题:

    给定程序MODll.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。

    例如,若m中的值为:5,则应输出:0.536389。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!


    正确答案:(1)for(i=2; i=m; i++)(2)y-=1.0/(i*i);
    (1)for(i=2; i=m; i++)(2)y-=1.0/(i*i); 解析:该程序功能是根据题目要求计算公式。从已给定源程序的main主函数开始入手,“printf("\nThe result is%lfin",fun(n));”语句中的fun(n)将参数n传给函数double fun(int m)中的m,实现公式的计算结果。

  • 第5题:

    试题11

    下列程序的功能是求算式:1-1/2+1/3-1/4+……前30项之和。请在空白处填入适当的语句,使程序可以完成指定的功能。

    Private Sub Command0_Click()

    Dim i As Single , s As Single,f As Single

    s=0 :f=1

    For i= 1 To 30

    s=s+f / i

    f=___【11】__

    Next i

    Debug.Print “1-1/2+1/3-1/4+……=”;s

    End Sub


    正确答案:
    试题11分析
    题目是求1-1/2+1/3-1/4+……前30项之和,奇数项的符号位正,偶数项为负,可以用f= - f来达到目的。
    试题11答案
      -f