请补充函数proc,该函数的功能是计算下面公式SN的值:SN=1+1/3十4/5+...+2N-1/SN-1例如,当N=20时,SN=29.031674。注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。试题程序:include<stdlib.h>include<conio.h>include<stdio.h>double proc(int n){double s=1.0,sl=0.0;int k;for(【1】;k<=n;k++)

题目

请补充函数proc,该函数的功能是计算下面公式SN的值:

SN=1+1/3十4/5+...+2N-1/SN-1

例如,当N=20时,SN=29.031674。

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

请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。

试题程序:

include&lt;stdlib.h&gt;

include&lt;conio.h&gt;

include&lt;stdio.h&gt;

double proc(int n)

{

double s=1.0,sl=0.0;

int k;

for(【1】;k&lt;=n;k++)

{

s1=S;

【2】

}

return【3】;

}

void main

{

int k=0:

double sum;

system("CLS");

printf("\nPlease input N=");

scanf("%d",&amp;k);

sum=proc(k);

printf("\nS=%If",sum);

}


相似考题
更多“请补充函数proc,该函数的功能是计算下面公式SN的值:SN=1+1/3十4/5+...+2N-1/SN-1例如,当N=20时,S ”相关问题
  • 第1题:

    下列程序计算Sn的值。Sn=a+aa+aaa+…a,其中最后一项为n个。

    例如:a=5,n=4时,则Sn=5+55+555+5555。请在空白处填入适当的内容,将程序补充完整。

    Private Sub Command1_Click( )

    Dim a As Integer, n As Integer, Cout As Integer

    Dim Sn As Long, Tn As Long

    Cout = 1

    Sn =0

    Tn =0

    a = InputBox("请输入a的值:" )

    【 】

    Do

    Tn =Tn * 10 + a

    Sn = Sn + Tn

    Cout = Cout + 1

    【 】

    Debug. Print a, n, Sn

    End Sub


    正确答案:答案:n=InputBox(“请输入n的值!”) Loop While Cout=n或Loop Until Cout = n + 1
    答案:n=InputBox(“请输入n的值!”) , Loop While Cout=n或Loop Until Cout = n + 1 解析:a和n的值必须已知,表达式才能计算。但程序中没有给变量n赋值的语句,可见第一个空白行应该填写给n赋值的语句。 Do循环应该有与之对应的终端语句,可见了第二个空白行应填写Do循环的终端语句,即While语句,同时要构造出控制循环的条件>。程序中有四个赋值语句,其中有一个计数语句Cout=Coat+1,可见控制循环次数的变量应是Cout。

  • 第2题:

    请编写函数proc(),它的功能是计算: s=(1n(1)4-1n(2)+In(3)4-…+1n(m))0.5 在C语言中可调用log(n)函数求1n(n)。 例如,若n1的值为30,则proc()函数值为8.640500。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:


    正确答案:

    【解析】由题目中所给表达式可知,表达式的值为m项表达式的和然后开平方。可以首先通过m次循环求得m项表达式的和,然后将其和开平方并返回到主函数当中。

  • 第3题:

    【填空题】下面函数的功能是根据公式s=l-1/3+1/5-1/7+...+(-1n )/(2*n+1)计算s,计算结果通过形参指针sn传回。n通过形参传入,n的值大于等于0。请填空使程序完整、正确。 void fun(float *sn,int n) { float s=0.0,w,f=-1.0;int i=0; for(i=0;i<=n;i++) { f=(1____)=s; }


    A

  • 第4题:

    请补充函数fun(),该函数的功能是计算下面公式SN的值:

    例如:当N=50时,SN=71.433699。

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

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    double fun(int n)

    {

    double s=1.0,S1=0.0;

    int k;

    for(【l】;k<=n;k++)

    {

    s1=s;

    【 】;

    }

    return【 】;

    }

    main()

    {

    int k=0;

    double S;

    clrscr();

    printf("\nPlease input N=");

    scanf("%d",&k);

    s=fun(k);

    printf("\ns=%lf",s);

    }


    正确答案:k=2 s+=(2*k-1)/s1 s
    k=2 s+=(2*k-1)/s1 s 解析:第一空:因为变量s初始化为1.0,也就是公式中的第—项,所以,for循环中,变量k从2开始,直到n。
    第二空:求出的s1就是公式中的SN-1,(2*K-1)/S1就是公式中的。第三空:变量s存放最后的结果,所以函数的返回值是s的值。

  • 第5题:

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

    例如,若n=12,则应输出0.618026。

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

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

    试题程序:


    正确答案:

    (1)错误:intproc(intn)
    正确:floatproc(intn)
    (2)错误:for(i=2;i<n;i++)
    正确:for(i=2;i<=n;i++)
    【解析】由主函数中的调用以及函数proc()的返回值可知,函数proc()的返回值类型应为float型数据。因此,“intproc(intn)”应改为“floatproc(intn)”;由题目中所给公式可知,循环中应该包含n的值,因此,“for(i=2;i<n;i++)”应改为“for(i=2;i<=n;i++)”。