更多“补充程序Ccon073.C,函数findmax返回数组中的最大元素。”相关问题
  • 第1题:

    以下程序调用findmax()函数返回数组中的最大值。请填空完成此函数。

    include〈iostream〉

    using namespace std;

    int findmax(int*a,int n)

    {

    int +p、*s;

    for(p=a,s=a;p-a〈n;p++)

    if(【 】)

    *s=*p;

    return(*S);

    }

    int main()

    {

    int x[5]={12,21,14,16};

    cout〈〈findmax(X,5)〈〈end1;

    return 0;

    }


    正确答案:*p>*s
    *p>*s 解析:函数findmax()的功能是找出数组中的最大值。在函数findmax()中,先定义两个整型指针p和s(指针s用于保存数组中的最大值,指针p用于指向数组的各个元素),并将指针p和s指向传入数组的首元素,然后通过for循环找出最大值。所以if语句的条件表达式应该为“*p*s”,即当p指向的元素值大于s所指向的元素值时,就把*p值保存在*s中。

  • 第2题:

    以下函数模板max()的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。

    template<typename T>T max(T a[],int n)

    {

    T m=a[0]

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

    if(a[i]>m)______;

    return m;

    }


    正确答案:m=a[i]
    m=a[i] 解析:此题考查的是函数模板、if语句、for循环等知识点。函数模板max()的功能是返回数组a中最大元素的值,所以当a[i]是最大值时,应将a[i]的值赋值给m。

  • 第3题:

    以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空:includefind

    以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空: #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++) if(s[p]>s[*k])________; } main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d,%d\n",k,a[k]); }

    A.k=p

    B.*k=p-s

    C.k=p-s

    D.*k=p


    正确答案:D
    解析:k是—个指针,它的值是—个地址,要通过它为主函数的变量改变数据,必须使用*p,边样就可以把—个下标数赋给p指针指向的那个内存单元,所以横线处应填入*k=p。

  • 第4题:

    补充程序Ccon062.C,使程序中的fun()函数用二分法在按从小到大排好序的数组a中查找q,若找到第一个q则返回对应的下标,没找到返回-1。


    Intfun(inta[],intn,/**/intq/**/)
    {mid=/**/(left+right)/2/**/;

  • 第5题:

    补充程序Ccon033.c,其中main函数通过调用average函数计算数组元素的平均值。


    /**/floatavg=0.0;/**/
    A.vg=avg+/**/pa[k]/**/;
    M.average(/**/a/**/,5);

  • 第6题:

    请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序在文件PROGl.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:


    【考点分析】
    本题考查:求数组的最大值,需要运用循环语句,因为数组是二维数组,所以应使用二层for循环嵌套。使用for循环语句时需要注意循环变量的取值范围。
    【解题思路】
    此类求最大值或最小值的问题,我们可以采用逐个比较的方式,要求对数组中所有元素遍历一遍,并且从中找出数组最大值或最小值。首先定义变量max存放数组中的第一个元素的值,然后利用for循环逐个找出数组中的元素,并与max比较,如果元素值大于max,则将该值赋予max,循环结束后max的值即为数组最大值,最后将该值返回。
    【解题宝典】
    该类题目考查较多,要掌握逐行比较的方法。对于m*n二维数组,如采用逐行查找方法,代码实现为:


  • 第7题:

    请编写函数proc(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

    则函数值为59。

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

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

    试题程序:


    正确答案:


    【解析】要求二维数组周边元素之和,首先应该判断数组中的每一个元素是否是周边元素。找出所有的周边元素后求和,返回给主函数。周边元素的下标特点为行或列的下标为。或N—1。根据此特点,找出所有的周边元素然后求和。

  • 第8题:

    请编一个函数void proc(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。

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

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

    试题程序:


    正确答案:


    【解析】按照题目中要求,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。首先比较二维数组中每一行的元素,然后找出每一行中的最大元素,放入一维数组pp中,最后返回到主函数当中。

  • 第9题:

    以下程序调用fmdmax函数返回数组中的量大值: findmax(int *a,int n) { int *p,*s; for(p=a,s=a;p-a<n;p++) if(______)s=p; return(*s); } main() { int x[5]={12,21,13,6,18}; printf("%d\n",findmax(x,5)); } 在下划线处应填入的是( )。

    A.p>s

    B.*p>*s

    C.a[p]>a[s]

    D.p-a>p-s


    正确答案:B
    解析:在main()函数中定义了一个具有5个元素的x数组并赋初值,然后调用findmax()函数求数组中元素的最大值。调用时把数组元素x的首地址,传给了形参指针变量a,把5传给形参n。在函数findmax()中定义了两种指针变量p和s,其中。用来记录最大元素的地址,p作为循环控制变量,表示每个元素的地址。求最大值的算法是先将第一个元素(用s记下它的地址)做为最大值,然后用最大值(*s)与后面的每个元素比较(*p),若后面的元素大,则用s记下它的地址,所以下划线应填“*s*p”或“*p>*s”。所以,4个选项中B为所选。

  • 第10题:

    根据函数原型"int MM(int a[],int m)",编写函数定义,计算并返回数组a[m]中元素最大值和最小值之差。

  • 第11题:

    请把下面说法中正确的选出来()。

    • A、在函数调用过程中数值型函数的默认返回值为0,可变型函数的默认返回值为空串
    • B、在调用Sub过程中使用Call语句时,参数必须在括号内
    • C、过程本身使用的参数列表称为“形参”,而主程序传递给过程的真正参数称为“实参”
    • D、DIM语句声明的数组把数值数组中的全部数组元素都初始化为0,把字符串数组中的全部元素都初始化为空字符串

    正确答案:B,C,D

  • 第12题:

    单选题
    有以下程序: #include  main() {  int findmax(int,int,int),m;  …  m=findmax(a,b,c);  … } int findmax(int x,int y,int z) {  … } 则以下叙述正确的是(  )。
    A

    在main函数中声明了findmax函数

    B

    在main函数中定义了findmax函数

    C

    在main函数中两次调用了findmax函数

    D

    在main函数内、外重复定义了findmax函数


    正确答案: D
    解析:
    程序中函数findmax定义放在主函数之后,主函数中声明了findmax函数。“int findmax(int,int,int);”为函数声明,“m=findmax(a,b,c);”为函数调用,“int findmax(int x,int y,int z){}”为函数定义。B选项是在main函数外定义的findmax函数,错误。在main函数中,出现了一次findmax函数的声明和一次findmax函数的调用,不是两次调用,C选项错误。D选项在main函数内不是定义findmax函数而是声明findmax函数。答案选择A选项。

  • 第13题:

    以下程序调用findmax函数返回数组中的最大值 findmax(int *a,int n) { int *p,*s; for(p=a,s=a;p-a<n; p++) if (______)s=p; return(*s); } main() { int x[5]={12,21,13,6,18}; printf("%d\n",findmax(x,5)); } 在下划线处应填入的是( )

    A.p>s

    B.*p>*s

    C.a[p]>a[s]

    D.p-a>p-s


    正确答案:B

  • 第14题:

    主程序调用findmax函数求出数组中最大元素在数组中的下标,( )中需填写的内容是。 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d%d\n" ,k,a[k]);}

    A.k=p

    B.*k=p

    C.k=p-s

    D.*k=p-s


    正确答案:B
    解析:数组元素可以通过数组首地址和下标的方式来引用,数组元素的下标是从0开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。注意:通过数组的首地址引用数组元素。

  • 第15题:

    以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

    #d越lie MIN-2147483647

    int findmax(int X[],int n)

    { int i,max;

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

    {max=MIN;

    if(max<x[i])max=x[i];}

    return max;

    }

    造成错误的原因是

    A.定义语句int i,max;中max未赋初值

    B.赋值语句max=MIN;中,不应给max赋MIN值

    C.语句if(max<x[i])max=X[i];中判断条件设置错误

    D.赋值语句max=MIN;放错了位置


    正确答案:D
    解析:对max赋初值,应该要放在循环语句之前,不然每次循环都将是从MIN开始比较。

  • 第16题:

    补充程序Ccon042.C,使程序中的sort()函数用冒泡法对数组a中的m个元素从大到小排序


    for(i=0;i</**/m-1/**/;i++)
    if/**/(a[j]<a[j+1])/**/
    a[j]=/**/a[j+1]/**/;

  • 第17题:

    以下函数模板main()的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。

    template<typename T>Tmax(Ta[],intn)

    {

    Tm=a[0];

    for(int i:1;i(n;i++)

    if(a[i]>m______;

    return m;

    }


    正确答案:(eh=filel.get())!=eof。
    (eh=filel.get())!=eof。 解析: 本题是判断文件是否达到结尾,可以使用流输入的get函数获得当前字符,然后判断该字符是否是eof即可。

  • 第18题:

    程序定义了NxN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。

    例如:a数组中的值为:

    则返回主程序后s的值应为:3.375。

    注意:部分源程序存在文件PROGl.C文件中。

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


    正确答案:
    解析:该程序功能是求出数组周边元素的平均值。其中周边元素是指第一行的元素的行下标为0,或者第n行的元素行下标为n-1,或者第一列元素的元素列下标为0,或者第n列的元素的列下标为n-1。

  • 第19题:

    数组xx[M]保存着一组4位无符号整数,其元素的个数通过变量num传人函数proc()。请补充函数proc(),该函数的功能是:从数组XX中找出个位和百位上的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。

    例如,当xx[8]={1111 2413 2321 2222 4245 3333 14145335)时,yy[6]={1111 2222 3333 1414}。

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

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

    试题程序:


    正确答案:

    【1】xx[i]%101【2】yy[n++]=xx[i]【3】n
    【解析】要找出个位和百位上的数字相等的所有无符号整数,首先要得到数组xx中每一个元素的个位和百位数字,然后进行比较。因此,【1】处填xx[i]%10。当个位和百位相等时,把数组xx中的该元素放到数组yy中。因此,【2】处填yy[n++]=xx[i]。由函数proc()可知,数组yy的个数存放在变量n中,最后返回到主函数当中。因此,【3】处填n。

  • 第20题:

    主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是

    #include<stdio.h>

    findmax(int*s,int t,int *k)

    { int p;

    for(p=0, *k=p; p<t; p++)if(s[p]>s[*k])( ); }

    main()

    { int a[10],i,k;

    for(i=0; i<10;i++)scanf(" %d",&a[i]);

    findmax(a,10,&k);

    printf(" %d%d\n",k,a[k];) }

    A.k=p

    B.*k=p

    C.k=p-s

    D.*k=p-s


    正确答案:B
    解析:考查通过指针来引用一维数组的方法。数组元素可以通过数组首地址和下标的方式来引用,数组元素的下标是从0开始的,也可以将数组首地址赋给一个指针变量,通过指针和下标的方式来引用数组元素。 通过数组的首地址引用数组元素。

  • 第21题:

    根据函数原型“int FF(int a[], int n)”,编写函数定义,计算并返回数组a[n]中所有元素之和。

  • 第22题:

    当函数的返回值是数组类型的,传递的是数组第一个元素的地址。


    正确答案:正确

  • 第23题:

    Python内置函数()用来返回序列中的最大元素。


    正确答案:max()