下面是通过建立计算阶乘的自定义函数计算组合C(M,N)一M!/(N!*(M—N))!)的值,其中的M,N通过键盘输入。请在( )处填上正确的语句。

题目

下面是通过建立计算阶乘的自定义函数计算组合C(M,N)一M!/(N!*(M—N))!)的值,其中的M,N通过键盘输入。请在( )处填上正确的语句。


相似考题
更多“ 下面是通过建立计算阶乘的自定义函数计算组合C(M,N)一M!/(N!*(M—N))!)的值,其中的M,N通过键盘输入。请在( )处填上正确的语句。 ”相关问题
  • 第1题:

    函数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

  • 第2题:

    请补充main 函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。

    例如:当n=1,m=100时,sum=5050:当n=100,m=1000时,sum=495550。

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

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

    试题程序:

    include<stdio.h>

    include<conio.h>

    main ()

    {

    int n, m;

    long sum;

    【 】

    clrscr ();

    printf ("\nInput n,m\n");

    scanf ("%d, %d", &n, &m);

    while (n<=m)

    {

    【 】

    n++;

    }

    printf ("sum=%【 】\n", sum);

    }


    正确答案:sum=0 sum+=n 1d
    sum=0 sum+=n 1d 解析:第一空:变量sum 进行了类型声明,但没有进行初始化,而后面的程序用sum 来存放最后的结果,所以要在使用前将sum 初始化为0。第三空:通过while 循环将自然数n和m之间的数进行累加,结果存于sum 中。第三空:由于sum 为长整型,所以标准输出函数printf ()中的格式控制符为“%1d”。

  • 第3题:

    fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是( )。 #include<stdio.h> #define N 5 void fun(int x[N]) { int m; for(m=N-t;m>=O;m-)scanf("%d",____); }

    A.%&X[++m]

    B.&x[m+1]

    C.x+(m++)

    D.x+m


    正确答案:D
    D【知识点】宏定义与数组地址的考察【解析】数组名本身就是地址,所以不需要在用&符号。C选项不能对所有元素赋值而是反复再给一个数值赋值且是死循环。

  • 第4题:

    已定义好函数f(n) ,其中n为形参。若以实参为m调用该函数并将返回的函数值赋给变量x,下列写法正确的是( )。

    A.x=f(n)

    B.x=Callf(n)

    C.x=f(m)

    D.x=Call f(m)


    正确答案:C
    解析: 本题考查过程调用的知识。调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。函数过程的调用只有一种方式:<过程名>(<实际参数>)

  • 第5题:

    若有说明,double*m,n;则能通过sCanf语句正确给输入项读人数据的程序段是( )。

    A.*m = &n;scanf("%lf",m);

    B.m = (double * ) malloc(10);scanf("%f",m);

    C.m = &n;scanf("%lf",n);

    D.m = &n;scanf("%le",m);


    正确答案:D
    解析:选项A,*m=&n错误。选项B,输入double型,要用%lf或%le,否则数据不能正常输入。选项C,n是变量,不是指针,scanf("%if",n)错误。

  • 第6题:

    下面程序的功能是求整数m、n的最大公约数,请填空。 main() {int m,n,r; scanf("%d,%d",&m,&

    下面程序的功能是求整数m、n的最大公约数,请填空。

    main()

    { int m,n,r;

    scanf("%d,%d",&m,&n);

    if(【 】){r=m;m=n;n=r;)

    while(【 】)

    { r=m%n;m=n;n=r; }

    printf("%d",m);

    }


    正确答案:mn或n>m r或r!=0
    mn或n>m r或r!=0 解析:本题使用的是“辗转相除”法求两个数的最大公约数,即以两个数中较大的除以较小的,如果余数不为0,则将较小的数和余数做同样处理,直到被除断为止,此时较小的数就是两个数的最大公约数。本题第一空要求填写一个if语句的判断条件,如果满足此条件则交换m和n的值,再看后面while循环的循环体,使用m%n求余,则此if语句的作用应该是保证m是两个数中较大的那个,故第一空填mn或n>m。接下来的while循环实现整个辗转相除的过程,其结束条件应该是余数r为0,所以while的循环条件应该填r或r!=0。

  • 第7题:

    阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。

    [函数2.1说明]

    下面程序的功能是计算x和y的最小公倍数。

    [函数2.1]

    main()

    { int m,n,d,r;

    seanf("%d %d",&m,&n);

    if(m<n) {r=m;m=n;n=r;}

    (1);

    while (d%n! =0) (2);

    printf("%d\n",d);

    }

    [函数2.2说明]

    下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。

    [函数2.2]

    include <stdio.h>

    main()

    { char c,preChar='\0';

    c = getchar();

    while(c! = '.'){

    if((3)) putchar(c);

    else if(preChar! =' ') putchar(c);

    (4);

    c=(5);

    }

    }


    正确答案:(1)d=m (2) d+=m或d=d+m (3) c!=‘’ (4) preChar=c (5) getchar()
    (1)d=m (2) d+=m或d=d+m (3) c!=‘’ (4) preChar=c (5) getchar() 解析:(1)下文使用了变量d,因此需在此初始化,由下面循环的条件“d%n!=0”知初值不能是n,因此必为m;
    (2)此处while循环生成最小公倍数d,其终止条件是n整除d,因此循环过程中需要保证m整除d并且d尽可能地小,于是d应以m为增量递增;
    (3)当输入的字符非空格时,原样输出;
    (4)程序中变量preChar用于记录上一次读入的字符,循环过程中应不断更新其值;
    (5)接收下一个输入。

  • 第8题:

    已定义好函数f(n),其中n为形参。若以实参为m调用该函数并将返回的函数值赋给变量X,以下写法正确的是( )。

    A)x=f(n)

    B)x=Call f(n)

    C)x=f(m)

    D)x=Call f(m)


    正确答案:C
    本题考查过程调用的知识。调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。函数过程的调用只有一种方式:<过程名>(<实际参数>1

  • 第9题:

    车站通过能力和改编能力的计算方法中直接计算法的计算公式是()。

    • A、N=(1440m-∑t固)/t均占+n固
    • B、N=n/k+n固
    • C、N=(T-∑t固)/(1440m-∑t固)
    • D、N=n/k

    正确答案:A

  • 第10题:

    在小偏心受拉构件设计中,如果遇到若干组不同的内力组合(M,N)时,计算钢筋面积时应该()。

    • A、按最大N与最大M的内力组合计算As和As
    • B、按最大N与最小M的内力组合计算As’,而按最大N与最大M的内力组合计算As
    • C、按最大N与最小M的内力组合计算As和As
    • D、按最大N与最大M的内力组合计算As,而按最大N与最小M的内力组合计算As

    正确答案:D

  • 第11题:

    单选题
    计算弯矩系数αM与计算轴力系数ηN与下列(  )组数据最为接近。
    A

    αM=0.406;ηN=1.430

    B

    αM=0.432;ηN=1.430

    C

    αM=0.450;ηN=1.250

    D

    αM=0.485;ηN=1.336


    正确答案: D
    解析:
    根据《砌体结构设计规范》(GB 50003—2011)第7.3.6条进行计算,由图4-23可知,设墙梁为简支墙梁,则:
    ①计算弯矩系数αM
    Hb/l0=0.75/6.05=0.124<16=0.166,取hb/l0=0.124;
    洞口对托梁弯矩的影响系数为:ψM=4.5-10a/l0=4.5-10×1.275/6.05=2.39;
    则弯矩系数为:αM=ψM(1.7hb/l0-0.03)=2.39×(1.7×0.124-0.03)=0.432。
    ②计算轴力系数ηN
    hw/l0=2.85/6.05=0.471<1,取hw/l0=0.471;
    ηN=0.44+2.1hw/l0=0.44+2.1×0.471=1.43。由此可知,B项数值最为接近。

  • 第12题:

    单选题
    fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下画线处应该填写的是(  )。#include #define N 5void fun(int x[N]){ int m; for(m=N-1;m>=0;m--)scanf("%d",_____);}
    A

    &x[++m]

    B

    &x[m+1]

    C

    x+(m++)

    D

    x+m


    正确答案: A
    解析:
    数组x中包含5个元素,分别为x[0],x[1],x[2],x[3],x[4]。AB两项,第一次循环时,m=4,x[++m]和x[m+1]均越界;C项,m++与for循环中的表达式m--构成死循环。答案选择D选项。

  • 第13题:

    小偏心受拉构件如果承受几种不同组合的内力组合设计值M,N时,应按最大N与最大M的内力组合计算(),按最大N与最小M的内力组合计算()。


    参考答案:A0、A0’

  • 第14题:

    下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)

    unsigned fact(unsigned n)

    {

    if (n<=1)

    return 1;

    return 【 】;

    }


    正确答案:n*fact(n-1)或者fact(n-1)*n或者n*fact(-1+n)或者fact(-1+n)*n
    n*fact(n-1)或者fact(n-1)*n或者n*fact(-1+n)或者fact(-1+n)*n 解析:递归的使用。

  • 第15题:

    下列类的构造函数不能通过编译,正确的构造函数应该是______。 include class Sample

    下列类的构造函数不能通过编译,正确的构造函数应该是______。

    include<iostream.h>

    class Sample

    {

    public:

    int n;

    const int con;

    Sample(int m) {con=m+1;n=m;}

    void disp( ) {cout<<"normal:n="<<n<<endl;}

    void disp( )const {cout<<"static:n="<<n<<endl;}

    };

    void main( )

    {

    const Sample a (12);

    Sample b (13);

    a.disp( );

    b.isp( );

    cout<<a.n<<","<<b.con<<endl;

    }


    正确答案:Sample(int m):con(m+1){n=m;)
    Sample(int m):con(m+1){n=m;) 解析:本题考察常数据成员的初始化方法。常数据成员的定义必须出现在类体中,而且初始化只能通过构造函数的成员初始化列表进行,而且不能被更新。

  • 第16题:

    以下程序的功能是:通过函数func 输入字符,并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。#include <stdio.h>long ; /* 函数说明语句 */main(){ long n; n=func(); printf("n=%ld\n",n);}long func(){ long m; for( m=0; getchar()!=’@’;); retum m;}


    正确答案:func(),m++
    本题考查函数的声明及对函数功能的理解。题目中的程序可以分为两个部分,一个为主函数main,另一个为func函数。C语言中如果使用用户自定义的函数,并且该函数与调用它的函数在同一个文件中,则需要在主调函数中对该函数进行声明。如果被调用的函数在主调函数之前,则可以不必加以声明。如果在所有的函数定义之前,在函数的外部已做了函数声明,则在各个主调函数中不必对所调用的函数再进行声明。题目中既没有在main函数之前对func函数进行定义,在main函数中也没有对func函数的声明,故要在所有的函数定义之前对func函数进行声明。第一个填空是对函数声明语句的补充,填入func()。第二个填空是在func函数的循环变量增值处,通过该函数能够输入字符,并对输入的字符进行字数统计。func函数用m的值作为字符个数的统计值并返回,而m是for语句中的循环变量,初始为0,循环条件为一个表达式getchar,每次输入一个字符,只要不是’@’,则继续循环调用for语句,循环变量增值处应该填入能反映m的值发生变化的语句,m是对字符个数的统计量,必然随着输入的合法字符数量增多而变大,应填入语句m++。

  • 第17题:

    以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。

    define M 2

    define N 4

    void SumColumMin(int a[M][N],int *sum)

    { int i,j,k,s=0;

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

    { k=0;

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

    if(a[k][i]>a[j][i])k=j;

    s+=【 】;

    }

    【 】 =s;

    }

    main( )

    { int x[M][N]={3,2,5,1,4,1,8,3},s;

    SumColumMin(【 】);

    printf("%d\n",s);

    }


    正确答案:a[k][i] *sum x[M][N]&s
    a[k][i] *sum x[M][N],&s 解析:本题中if(a[k][I] >a [j] [I]) k=j;把一列中值较小的一个元素的索引存储到k中,所以[18]填[k] [i],[19]填返回值,右值为整型,所以应该填。sum,SnmColumMin(  )函数第一个参数为数组a[M][N],第二个参数为一个整型指针,所以[20]填x[M][N],&s。

  • 第18题:

    有如下函数: Function fun(a As Integer,n As Integer)As Integer Dim m AS Integer While a>=n a=a-n:m=m+1 Wend Fun=m End Function 该函数的返回值是。 A.a乘以n的乘积 B.a加n的和 C.a减n的差 D.a除以n的商(不含小数部分)


    正确答案:D

  • 第19题:

    下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1)

    unsigned fact (unsigned n)

    {

    if(n<=1)

    retum 1;

    return【 】;

    }


    正确答案:n*fact (n-1)
    n*fact (n-1) 解析:本题考核递归函数。一般递归函数由递归出口和递归体两部分组成。递归出口给出了递归终止的条件;递归体给出了递归的方式。题中程序给出了递归出口,但是没有给出递归体,由阶乘的定义可知其递归体应该为n*fact (n-1)。

  • 第20题:

    在小偏心受拉构件设计中,如果遇到若干组不同的内力组台(M,N)时,计算钢筋面积时应该()。

    • A、按最大N与最大M的内力组合计算As和As
    • B、按最大N与最小M的内力组合计算As,而按最大N与最大M的内力组合计算Aˊs
    • C、按最大N与最大M的内力组合计算As,而按最大N与最小M的内力组合计算As

    正确答案:C

  • 第21题:

    由于合力偏心距e0=M/N,下列哪一组为最不利荷载组合()

    • A、M值大,N值大
    • B、M值小,N值小
    • C、M值大,N值小
    • D、M值小,N值大

    正确答案:C

  • 第22题:

    定义:intm=5,n=3;则表达式m/=n+4的值是(),表达式m=(m=1,n=2,n-m)的值是(),表达式m+=m-=(m=1)*(n=2)的值是()-2。


    正确答案:5;1;-2

  • 第23题:

    单选题
    在小偏心受拉构件设计中,如果遇到若干组不同的内力组台(M,N)时,计算钢筋面积时应该()。
    A

    按最大N与最大M的内力组合计算As和As

    B

    按最大N与最小M的内力组合计算As,而按最大N与最大M的内力组合计算Aˊs

    C

    按最大N与最大M的内力组合计算As,而按最大N与最小M的内力组合计算As


    正确答案: C
    解析: 暂无解析