niusouti.com

以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int

题目

以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }


相似考题
更多“以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int( ”相关问题
  • 第1题:

    ( 21 )已知函数 fun 的原型为

    int fun ( int,int,int ) ;

    下列重载函数原型中错误的是

    A ) char fun ( int,int ) ;

    B ) double fun ( int,int,double ) ;

    C ) int fun ( int,char* ) ;

    D ) float fun ( int, int, int ) ;


    正确答案:D

  • 第2题:

    请编写一个函数int fun (int nFirst, int nSecond),求两个数的最小公倍数并返回这个值。

    注意:部分源程序已存在文件test13_2.cpp中。如输入7和8时,结果是56。

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

    文件test13_2的内容如下;

    include<iostream.h>

    int fun(int nFirst,int nSecond);

    void main()

    {

    int nFirst,nSecond;

    cout<<"Please input the first one";

    cin>>nFirst;

    cout<<" Please input the second one";

    cin>>nSecond;

    cout<<"最小公倍数:"<<fun(nFirst,nSecond)<<endl;

    }

    int fun(int nFirst,int nSecond)

    {

    }


    正确答案:int fun(int nFirstint nSecond) { int nMaxnMin; if (nFirst>nSecond) { nMin = nFirst; nMin = nSecond; } else { nMax=nSecond; nMin=nFirst; } int nMod=nMax%nMin; while(nMod) { nMax=nMin; nMin=nMod; nMod=nMax%nMin; } int nMultiple=nFirst*nSecond/nMin; return nMultiple; }
    int fun(int nFirst,int nSecond) { int nMax,nMin; if (nFirst>nSecond) { nMin = nFirst; nMin = nSecond; } else { nMax=nSecond; nMin=nFirst; } int nMod=nMax%nMin; while(nMod) { nMax=nMin; nMin=nMod; nMod=nMax%nMin; } int nMultiple=nFirst*nSecond/nMin; return nMultiple; } 解析:本题考查的是考生利用基本的控制语句解决实际问题的能力。注意算法的设计,其中%是取余操作。

  • 第3题:

    请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。

    例如,若输入15,5,则应输出16,18,20,21,22。

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

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

    试题程序:

    include<conio.h>

    include<stdio.h>

    void fun(int m,int k,int xx[])

    {

    }

    main()

    {

    int m,n,zz[1000];

    clrscr();

    printf("\nPlease enter two integers:");

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

    fun(m,n,zz);

    for(m=0;m<n;m++)

    printf("%d",zz[m]);

    printf("\n");

    }


    正确答案:void fun(int m int k int xx[]) { int ijn; for(i=m+1n=0;nk;i++) /*找大于m的非素数循环k次即找出紧靠m的k个非素数*/ for(j=2;ji;j++) /*判断一个数是否为素数*/ if(i%j==0) { xx[n++]=i; /*如果不是素数放入数组xx中*/ break; /*并跳出本层循环判断下一个数*/ } }
    void fun(int m, int k, int xx[]) { int i,j,n; for(i=m+1,n=0;nk;i++) /*找大于m的非素数,循环k次,即找出紧靠m的k个非素数*/ for(j=2;ji;j++) /*判断一个数是否为素数*/ if(i%j==0) { xx[n++]=i; /*如果不是素数,放入数组xx中*/ break; /*并跳出本层循环,判断下一个数*/ } } 解析:本题只要掌握了判断非素数和素数的算法即不难完成了,其实程序缺少部分也正是这部分。

  • 第4题:

    以下程序段中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是( )。

    A.main() {int*p; fun(p); … } int fun(int*p) {int s; p=&s; }

    B.main {int*p fun(&p); … } iht fun(int**p) {int s; *p=&s;}

    C.main() {int*p; fun(&p); } int fun(int**p) {*p=(int*)malloc(2);}

    D.main() {int*p; fun(p); } int fun(int*p) {p=(int*)malloc(sizeo(int));}


    正确答案:C
    解析:在选项A中,main()函数中定义了一个指针变量p,调用fun()函数时把p传给形参p,在函数中让p指向局部变量s,由于函数调用返回后,局部变量s将被释放,因此无法实现让实参p指向一个整型单元,故选项A错误。选项B中实现的也是让实参p,指向一个在函数fun()中定义的局部变量s,因此也是错误的;选项C在函数fun()中分配了两个字节的内存单元并把首地址赋值给形参p指向的变量,即main()函数的指针变量p中,由于整型变量占两个字节,因此,选项C是正确的;选项D在主函数中定义了一个指针地址变量p,并把指针变量的值传给形参变量p,在fun()函数中分配了一个整型单元并把首地址赋值给行参指针变量p,由于C语言中变量作为参数是传值的,所以并没有改变对应实参指针变量的值,因此选项D也是错误的。所以,C选项为所选。

  • 第5题:

    下面正确的函数定义形式为( )。

    A.void fun();{}

    B.void fun(int x;int y) {}

    C.void fun() {}

    D.void fun(int x,y) {}


    正确答案:C
    解析:选项A函数声明与函数体之间没有分号;选项D形参之间用逗号隔开;选项D形参y没有类型。

  • 第6题:

    关于下列程序段的描述中,正确的是()。 include int fun(int,int); void main() { co

    关于下列程序段的描述中,正确的是( )。 #include<iostream.h> int fun(int,int); void main() { cout<<fun(1,2)<<endl; } int fun(int x,int y) { return X+y; }

    A.该函数定义正确,但函数调用方式错误

    B.该函数调用方式正确,但函数定义错误

    C.该函数定义和调用方式都正确

    D.该函数定义和调用方式都错误


    正确答案:C
    解析: 函数定义的一般形式:类型标识符函数名(形式参数列表){声明部分;语句}。函数调用的一般格式:函数名(实参列表)。而“int fun(int,int)”为函数声明,可以不写形参名,只写形参的类型。所以,可以看出函数fun的定义和调用都是正确的。

  • 第7题:

    请填写空格: include using namespace std; void fun(int x,int y,int * z) { *2 = x

    请填写空格:

    include<iostream>

    using namespace std;

    void fun(int x,int y,int * z)

    { *2 = x + y;}

    void main()

    {

    int a=100,b=100,c,*p=&c;

    fun(a,b,p);

    【 】; //输出调用fun函数后返回a、b的和。

    }


    正确答案:cout*p;
    cout*p; 解析:函数 fun()通过指针可以带回返回值,a、b的和存放在*p中。

  • 第8题:

    下列重载函数中,正确的是( )。

    A.void fun(int a,float b);void fun(int C,float d)

    B.void fun(int a,float b);void fun(float a,int b)

    C.float fun(int a,float b);int fun(int b,float a)

    D.int fun(int a,int b);float fun(int a,int b)


    正确答案:B

  • 第9题:

    若有以下调用语句,则不正确的 fun 函数的首部是( )。 void main() { int a[50],n; fun(n,&a[9]); }

    A.void fun(int m,int x[])

    B.void fun(int s,int h[])

    C.void fun(intp,int * s)

    D.void fun(int n,int a)


    正确答案:D
    解析:&a[9]表示对变量a[9]的引用,与它对应的形参必须是表示地址的变量,而D的第2个形参是一个普通变量。

  • 第10题:

    试题14

    以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。

    #include <stdio.h>

    void fun(int s[], int *n, int k, int x)

    { int i;

    for(i=*n-1; i>=k; i- - ) s[ ___ ]=s[i];

    s[k]=x;

    *n=*n+______;

    }

    main()

    { int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;

    fun(a, &n, k, x);

    for(i=0; i<n; i++) printf(“%4d”,a[i]); printf(“\n”);

    }


    正确答案:
    试题14分析
    因为是把x中的值插入到a数组下标为k的数组元素中,所以首先要将k及其后的元素往后移一位,方法是s[i+1]=s[i],插入之后,因为多了一个元素,要将n中值增1。
    试题14答案
     【14】i+1
    【15】1

  • 第11题:

    以下正确的函数原型为()

    • A、fun1(int x;int y);
    • B、void fun1(x,y);
    • C、void fun1(int x,y);
    • D、void fun1(int,int);

    正确答案:D

  • 第12题:

    单选题
    以下函数按每行8个输出数组中的数据:void fun(int *w,int n){ int i; for(i=0;i
    A

    if(i/8==0) printf();

    B

    if(i/8==0)continue;

    C

    if(i%8==0) printf();

    D

    if(i%8==0)continue;


    正确答案: A
    解析:
    每行输出8个数组数据后输入一个换行,所以应该采取对8取余的方法,余数循环一次便换行一次,所以语句为
    if(i%8==0) printf("");
    答案选择C选项。

  • 第13题:

    以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main( ) { int *p; fun(p); ┆ } int fun(int *p) { int s; p=&s;}

    B.main( ) { int *p; fun(&p); ┆ } int fun(int **p) { int s; *p=&s;}

    C.#include<stdlib.h> main( ) { int *p; fun(&p); ┆ } int fun(int **p) { *p=(int*)malloc(2);}

    D.#include<stdlib.h> main( ) { int *p; fun(p); ┆ } int fun(int *p) { p=(int*)malloc(sizeof(int));}


    正确答案:D

  • 第14题:

    请编写一个函数void fun(int p[],int n,int c),其中数组p的元素按由小到大的顺序排列,其元素个数为n。函数fun()的功能是将c插入到数组p中,且保持数组的升序排列。

    注意:部分源程序已存在文件PROC9.cpp中。

    请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句;

    文件PROC9.cpp的内容如下:

    //PROC9.cpp

    include <iostream>

    include <string>

    using namespace std;

    define M 30

    void fun(int p[ ],int n,int c);

    int main ()

    {

    int pp[M],n,i;

    int fg, c;

    cout<<"Please input n:\n";

    cin>>n;

    cout<<"Please input the n data:\n";

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

    cin>>pp [i];

    cout<<"Please input c:\n";

    cin>>c;

    fun (pp, n, c);

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

    cout<<pp [i] << " " ;

    cout<<end1;

    return 0;

    }

    void fun(int p[ ],int n, int c)

    {

    //* * * * * * * * *

    }


    正确答案:

  • 第15题:

    若有以下调用语句,则不正确的fun函数的首部是______。 main() { …… int a[50],n; fun(n,&a[9]); …… }

    A.void fun(int m, int x[])

    B.void fun(kit s, kit h[41])

    C.void fun(kit p, kit *s)

    D.void fun(int n, int a)


    正确答案:D

  • 第16题:

    以下( )成员函数表示纯虚函数。

    A.virtual int fun(int)

    B.void fun(int)=0

    C.virtual void fun()=0

    D.virtual void fun(int){}


    正确答案:C
    解析:纯虚函数是在声明虚函数时被“初始化”为。的函数。定义的一般形式为:virtual函数类型函数名(参数列表)=0。所以排除选项A)、B)、D)。

  • 第17题:

    若有以下调用语句,则不正确的fun函数的首部是( )。 main() { … int a[50],n; … fun(n,&a[9]); … }

    A.void fun(int m,int x[])

    B.void fun(int s,int h[41])

    C.voidfun(int p,int*s)

    D.void fun(int n,iht a)


    正确答案:C
    解析:根据主函树中的函数调用可知,第一个实参为整型数据,第二个实参为整型数组中一个元素的地址值。因此函数fun()的第二个形参应该为一个指针,故应该选择C。实参不是将整个数组传递给形参,故选项A和B不正确;选项D的第二个形参的数据类型与实参的数据类型不符。

  • 第18题:

    以下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],即数组最大值。

  • 第19题:

    请编写一个函数void fun(int a [],int n),其中a为数组,n为数组a的长度。函数fun()的功能是冒泡排序法将数组a元素按从小到大的顺序排列,实现数组a的升序排列。

    注意:部分源程序已存在文件PROC12.cpp中。

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

    文件PROC12.cpp的内容如下:

    //PROC12. cpp

    include <iostream>

    using namespace std;

    define MAX 100

    void fun(int a[],int n);

    int main ()

    {

    int a[MAX],n,i;

    cout<<"Please enter the array size n:\n";

    do {

    cin>>n;

    if (n>100)

    cout<<"array size flowover! ReEnter a number(0-100)\n";

    }while (n>100);

    cout<<"Enter the array data:\n";

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

    cin>>a [ii;

    fun(a[],n);

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

    cout<<a [i] <<" ";

    cout<<end1;

    return 0;

    }

    void fun(int a[ ],int n)

    {

    // * * * * * * * *

    }


    正确答案:

  • 第20题:

    以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是

    A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=&s;}

    B.main() { int *p; fun(&p); … } int fun(int **p) { int s; *p=&s;)

    C.#include main() { int *p; fun(&p); … } int fun(int **p) *p=(int*)malloc(2);}

    D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }


    正确答案:C
    解析:本题考核的知识点是指针变量作为函数的参数以及变量的作用域。在选项A中,main()函数中定义了一个指针变量p,调用fun()函数时把p传给形参p,在函数中让p指向局部变量s,由于函数调用返回后,局部变量s将被释放,因此无法实现让实参p指向一个整型单元,故选项A错误.选项B中实现的也是让实参p,指向一个在函数fun()定义的局部变量s,因此也是错误的;选项C在函数fun()中分配了两个字节的内存单元并把首地址赋值给形参p指向的变量,即main()函数的指针变量p中,由于整型变量占两个字节,因此,选项C是正确的;选项D在主函数中定义了一个指针地址变量p,并把指针变量的值传给形参变量p,在fun()函数分配了一个整型单元并把首地址赋值给行参指针变量p,由于C语言中变量作为参数是传值的,所以并没有改变对应实参指针变量的值,因此选项D也是错误的.所以,C选项为所选。

  • 第21题:

    若有以下调用语句,则不正确的fun函数的首部是( )。 main() { int a[50],n; fun(n,&a[9]); ┆ }

    A.void fun(int m,int x[])

    B.void fun(int s,int h[41])

    C.void fun(int p,int *s)

    D.void fun(int n,int a)


    正确答案:D
    解析:根据main函数中的fun函数调用语句可知,fun函数的第二个参数是一个地址值,对应的形参可以是指针变量或一维数组,所以D)不正确。

  • 第22题:

    (11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。

    void fun(int a[N],int k)

    { int i;

    for(i=k;i<N;i++) a[ 【11】 ]=a[i];

    }


    正确答案:
    (11)i-1

  • 第23题:

    单选题
    下列重载函数中,正确的是(  )。
    A

    void fun(int a,float b);void fun(int C,float d)

    B

    void fun(int a,float b);void fun(float a,int b)

    C

    float fun(int a,float b);int fun(int b,float a)

    D

    int fun(int a,int b);float fun(int a,int b)


    正确答案: D
    解析:
    函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同,只有返回类型不同的函数不能重载。