更多“定义一个函数模板,该函数的功能是将一维数组a中的元素逆序”相关问题
  • 第1题:

    下列程序是一个函数模板,用于把数组a的每个元素按照逆序放入数组b中。请填空完成该函数模板的定义

    template<class Type>

    void Func(Type a[], Type b[],【 】)

    {

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

    b[n-i-1]=a[i];

    }


    正确答案:int n
    int n 解析:本题考查函数模板的定义,注意第三个参数不需要改变类型,仅仅用于给定循环体的上界.为正整数,故可直接用int来限定。

  • 第2题:

    数组名作为参数时,以下叙述错误的是()

    A.函数调用时是将实参数组的所有元素传给形参

    B.函数调用时是将实参数组的首地址传给形参

    C.函数调用时是将实参数组的第一个元素传给形参

    D.函数调用时是将实参数组的所有元素地址传给形参


    正确答案:ACD

  • 第3题:

    阅读以下说明和流程图,回答问题将解答填入对应栏。

    [说明]

    本流程图实现采用递归函数来求一个整数数组中从元素0到元素n中的最小值。该算法思想是这样的,首先我们假设有一个求数组中最小元素的函数,然后,在求某一具有n的元素的数组的最小值时,只要求将前n-1的元素的最小值与第n个元素比较即可。不断地重复这一过程,直到数组中只剩下一个元素,那么它必定是最小值。

    注:int min(int X,int y)为返回两数中最小数的函数。

    int minInArray(int a[],int n)为返回数组中最小数的函数。

    minA为数组中最小值。

    [问题l]

    将流程图的(1)~(4)处补充完整。

    [问题2]

    min()函数的定义为(5)。


    正确答案:(1) minInArray(an); (2) 1; (3) minA=a[n-1]; (4) minA=min(minInArray(an-1)a[n]); (5) xy?x:y;
    (1) minInArray(a,n); (2) 1; (3) minA=a[n-1]; (4) minA=min(minInArray(a,n-1),a[n]); (5) xy?x:y; 解析:本题目考查流程图。
    题目是利用递归来求数组中的最小值,则一定是反复的调用一个求数组最小值的函数,直到比较数组中最后只剩下两个数,则(1)中填入的应是“minlnArray(a,n)”,然后,判断n的值是否为1,如果是,则说明数组中只有一个数,则它一定就是最小值,可以直接输出,所以(2)应填入“1”,(3)应填入“minA=a[n]”;如果n的值不是1,则说明要继续递归,则再次调用求数组最小值的函数,把数组前n-1项的最小值同第n项做比较,所以(4)填入“minA=min(minInArray(a,n-1),a[n])”,由于min()是一个比较函数,返回两数中较小的数,我们可以用三元运算符直接定义为x y?x:y。

  • 第4题:

    当调用函数时,实参是一个数组名,则向函数传送的是______。

    A.数组的长度

    B.数组的首地址

    C.数组每一个元素的地址

    D.数组每个元素中的值


    正确答案:B
    解析:数组名作函数实参时,所传递的是数组第一个元素的地址。

  • 第5题:

    请教:2016年计算机二级考试C++模拟试题简答题5答案

    程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun,该函数的功能是:使数组左下半三角元素中的值乘以n。


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

      {int i,j;

      for(i=0;i

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

      a[j]=a[j]*n;}

  • 第6题:

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

    例如:a数组中的值为:

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

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

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


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

  • 第7题:

    当调用函数时,实参是一个数组名,则向函数传送的是______。

    A.数组的长度

    B.数组的首地址

    C.数组每个元素的地址

    D.数组每个元素中的值


    正确答案:B
    解析:在函数中,可以通过指针变量来引用调用函数中对应的数组元素。此操作是通过传递数组的地址来实现的。

  • 第8题:

    阅读以下C代码,回答问题(1)~(6),将解答填入答题纸的对应栏内。【说明】函数insertElem的功能是在元素升序排列的数组中加入一个新元素并保持数组元素升序排列的特点。在main函数中输入若干表示价格的实数,输入为0或负数或实数个数超出限定数量时终止,调用insertElem将价格按升序保存在数组pdata中,最后输出所输入的实数


    答案:
    解析:
    (1)arr[n](2)arr[i+1]=arr[i](3)arr[i+1](4)break(5)pdata,n,price(6)idx【解析】

    1空如果所有元素都比带插入元素小,那么带插入元素排在最后。23空插入元素并将其他元素后移4空如果price小于等于0,则break终止循环5空调用inserElem函数时填写的参数6遍历所有元素并输出结果。

  • 第9题:

    当调用函数时,实参是一个数组名,则向函数传送的是()。

    • A、数组的长度
    • B、数组首地址
    • C、数组每一个元素的地址
    • D、数组每个元素的值

    正确答案:D

  • 第10题:

    以下对C语言函数的描述中,正确的是()

    • A、C程序由一个或一个以上的函数组成
    • B、C函数可以嵌套定义
    • C、函数必须有返回值,否则不能使用函数
    • D、C语言中所有的函数定义都必须在main()函数中定义

    正确答案:A

  • 第11题:

    单选题
    下列关于模板的叙述中,错误的是(  )。
    A

    调用模板函数时,有时可以省略模板实参

    B

    函数模板的每个实例就是一个函数定义

    C

    类模板的每个实例就是一个类定义

    D

    类模板的实例是一个类对象


    正确答案: C
    解析:
    在定义对象的过程中,编译系统会自动地根据需要生成相应的类定义,这种依据类模板生成类定义的过程称为类模板的实例化。类模板实例化所生成的每一个类定义就是相应类模板的一个实例。

  • 第12题:

    单选题
    当调用函数时,实参是一个数组名,则向函数传送的是()。
    A

    数组的长度

    B

    数组首地址

    C

    数组每一个元素的地址

    D

    数组每个元素的值


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

  • 第13题:

    下列关于函数模板和模板函数的描述,错误的是()

    A、函数模板是一组函数的模板

    B、模板函数是一个实在的函数

    C、函数模板是定义重载函数的一种工具

    D、模板函数在编译时不生成可执行代码


    参考答案:D

  • 第14题:

    将数组名作为函数实参,表示将数组首地址传递给函数,在函数中可以通过该首地址操作数组中的元素并更改元素的值。()

    此题为判断题(对,错)。


    正确答案:正确

  • 第15题:

    当调用函数时,实参是一个数组名,则向函数传送的是______。

    A.数组的长度

    B.数组的首地址

    C.数组中每一个元素的地址

    D.数组每个元素中的值


    正确答案:B

  • 第16题:

    下面程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并在文本框Textl中输出该数组中各元素的最小值。请填空。

    End Sub


    正确答案:
    arrl(1)Min=arrl(i)【解析】本题考查VBA中程序设计的知识。对于这个问题,需要把数组元素依次与最小值比较,如果比当前的最小值还小,则让这个数组元素成为新的最小值,然后继续比较,直至数组元素都比较一遍为止。由于比较的循环从2开始,显然是预先设置最小值为数组的第一个元素即arrlfl);在比较循环内部如果符合If语句的条件,则让这个数组元素成为新的最小值,即Min=arrl(i)。

  • 第17题:

    程序定义了NxN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。

    例如:若m的值为2,a数组中的值为:

    注意:部分源程序存在文件PROGl.C文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。


    正确答案:
    解析:该程序功能是使数组右上半三角元素中的值乘以m。本题中首先要确定右上角半角元素的特点,然后对元素逐个进行乘以m的操作。其中,右上角的元素是行下标小于等于列下标的元素。

  • 第18题:

    程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(int a[][M],int n),该函数的功能是使数组左下半三角元素中的值加上n。例如,a数组中的值为:

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

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

    试题程序:


    正确答案:


    【解析】使数组左下半三角元素中的值加上n,首先要找出数组中下半三角元素。数组中下半三角元素的特点是,其列下标小于等于行下标。根据这个特点找出所有的下半三角元素再加上n放在原来的位置上。

  • 第19题:

    数组名作为函数参数进行传递时,形参获得的是( )。

    A.该数组第一个元素的值

    B.该数组所有元素的值

    C.该数组所有元素的地址

    D.该数组的首地址


    正确答案:D

  • 第20题:

    关于函数模板,描述错误的是()

    • A、函数模板必须由程序员实例化为可执行的函数模板
    • B、函数模板的实例化由编译器实现
    • C、一个类定义中,只要有一个函数模板,这个类就是类模板
    • D、类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

    正确答案:A

  • 第21题:

    以下关于函数模板叙述正确的是()。

    • A、函数模板也是一个具体类型的函数
    • B、函数模板的类型参数与函数的参数是同一个概念
    • C、通过使用不同的类型参数,函数模板可以生成不同类型的函数
    • D、用函数模板定义的函数没有类型

    正确答案:C

  • 第22题:

    单选题
    下列有关模板的叙述中,正确的是(  )。
    A

    函数模板不能含有常规形参

    B

    函数模板的一个实例就是一个函数定义

    C

    类模板的成员函数不能是模板函数

    D

    用类模板定义对象时,绝对不能省略模板实参


    正确答案: D
    解析:
    A项错误,函数模板可以含有常规形参;B项正确,函数模板的一个实例就是一个函数定义;C项错误,类模板中的成员函数都是模板函数;D项错误,在用类模扳定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板形参,但是可以为类模板的参数设置默认值。

  • 第23题:

    单选题
    下列关于函数模板的描述中,正确的是(  )。
    A

    函数模板是一个实例函数

    B

    使用函数模板定义的函数没有返回类型

    C

    函数模板的类型参数与函数的参数相同

    D

    通过使用不同的类型参数,可以从函数模板得到不同的实例函数


    正确答案: C
    解析:
    函数模板是一系列相关函数的模型或样板,这些函数的源代码相同,只是所针对的数据类型不同。数据类型成了函数模板的参数,所以函数模板是一种参数化类型的函数,通过使用不同的类型参数,可以从函数模板得到不同的实例函数。

  • 第24题:

    单选题
    对数组名作函数的参数,下面描述正确的是(  )。
    A

    数组名作函数的参数,调用时将实参数组复制给形参数组

    B

    数组名作函数的参数,主调函数和被调函数共用一段存储单元

    C

    数组名作参数时,形参定义的数组长度不能省略

    D

    数组名作参数,不能改变主调函数中的数据


    正确答案: B
    解析:
    数组名作为函数参数,传递的是数组的首地址,主调函数和被调函数共用一段存储单元,如果被调函数中对数组进行操作,会改变主调函数中的数据。