函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m>n。例如:m=12,n=8时,运行结果应该是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。#include#includefloat fun (int m, int n){ int i;double p=1.0;for(i=1;i<=m;i++)( );for(i=1;i<=n;i++)( );for(i=1;i<=m-n;i++)p=p/i;return p;}main (){ clrsc

题目

函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m>n。

例如:m=12,n=8时,运行结果应该是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。

#include

#include

float fun (int m, int n)

{ int i;

double p=1.0;

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

for(i=1;i<=n;i++)( );

for(i=1;i<=m-n;i++)p=p/i;

return p;}

main ()

{ clrscr();

printf ("p=%f\n",fun (12,8));}


相似考题
参考答案和解析
正确答案:
p=p*i;p=p/i
更多“函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m&gt;n。 ”相关问题
  • 第1题:

    以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义)

    int fun(int a[N][M])

    {int i,j,row=0,col=0;

    for(i=0;i<N;i++)

    for(j=0;j<M;j++)

    if(a[i][j]>a[row][col])(row=i;col=j;)

    return(_____);

    }


    正确答案:a[row][col]
    a[row][col] 解析:嵌套循环,依次遍历二维数组的所有元素,从a[0][0]开始,先按行,后按列,a[row][col]先取a[0][0],若后面的元素比他大,则将此i、j值存入row、col中,即记录元素中当前最大值。循环结束返回a[row][col],即数组最大值。

  • 第2题:

    下列给定程序中,函数fun的功能是按以下递归公式求函数值。

    例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。

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

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

    试题程序:

    include <stdio.h>

    /*************found****+*******/

    fun(int n);

    {

    int c;

    /*************found********+*****/

    if(n=1)

    c=15;

    else

    c=fun(n-1)*2;

    return(c);

    }

    main()

    {

    int n;

    printf("Enter n:");

    scanf("%d",&n);

    printf("The result:%d\n\n",fun(n));

    }


    正确答案:(1)错误:fun(int n); 正确:fun(int n) (2)错误:if(n=1) 正确:if(n==1)
    (1)错误:fun(int n); 正确:fun(int n) (2)错误:if(n=1) 正确:if(n==1) 解析:错误1:该行是函数的首部,不是一条语句,因此不能以分号结束。错误2:if垢面应该紧跟一个条件判断表达式,若写成“if(n=1)”,则说明该表达式的值永远为真,也就是说这个条件永远成立,没有递归执行。

  • 第3题:

    以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义) int fun(int a[N][M]) {int i,j,row=0,col=0; for(i=0;i<N;i++) for(j=0;j<M;j++) if(a[i][j]>a[row][col]){row=i;col=j;} return(_____); }


    void fun (int(*s) [10]int *bint*nint mmint nn) {int ij; for(i=0;i<mm;s++j++) for(j=0;j<nn;j++) *(b+i*nn+j)=(*s)[j]; *n=mm*nn; } voidfun(int(*s)[10],int*b,int*n,intmm,intnn){inti,j;for(i=0;i<mm;s++,j++)for(j=0;j<nn;j++)*(b+i*nn+j)=(*s)[j];*n=mm*nn;}

  • 第4题:

    给定程序MODll.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。

    例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.141480。

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

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


    正确答案:(1)t=1; (2)return(2*s);
    (1)t=1; (2)return(2*s); 解析:该题中函数功能是根据公式计算π值。从已给定源程序的main.主函数开始入手,通过键盘输入制定精度,然后通过“printf“\neps=%lf,Pi=%lf\n\n”,x,fun(x));”语句来调用fun函数。

  • 第5题:

    编写函数fun(),其功能是计算:

    s作为函数值返回。

    在C语言中可调用log(n)函数求1n(n)。log函数的引

    用说明为:double log(double x)。

    例如,若m的值为20,则fun()函数值为6.506583。

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

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

    试题程序:


    正确答案:


    【解析】题目要求写出程序实现数学表达式的功能,需要用for循环计算累加的结果,调用sqrt函数实现求平方根。循环变量的范围是1~m,每次循环都进行一次累加求和。需要特别注意的是,log函数的形式参数为double型变量,用于循环的计数变量为整数,所以必须强制转换。最后返回所求出的平方根。