设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()

题目
单选题
设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()。
A

int m = max(22,max(59,70));

B

int m = max(max(22,59),70);

C

int m = max(22,59,70);

D

int m = max(59,max(22,70));

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序中的select()函数功能是:在N行M列的二维数组中选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。

include<iostream>

define N 3

define M 3

using namespace std;

int select(int a[N][M],int *n)

{

int i,j,row=0,colum=0;

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

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

if(a[i][j]>a[row][colum])

{

row=i;

colum=j;

}

*n=【 】;

return 【 】;

}

int main()

{

int a[N][M]={9,11,23,6,1,15,9,17,20};

int max,n;

max=select(a,&n);

cout<<"max="<<max<<"line="<<n<<end1;

return 0;

}


正确答案:row a[row][colum]
row a[row][colum] 解析:通过对题意的分析不难看出:在select()函数中,变量row的作用是用来标记最大元素的行下标值,colum的作用是用来记下最大元素的列下标:函数select()通过循环求得数组的最大值的行下标、列下标并分别存放在变量row和colum中。根据题意,应把行下标赋值给形参指针变量n,这样就通过地址传递的方式改变了主调函数中的实参,即把最大值的行下标传回到主调函数中。然后把最大值a[row][colum]作为函数返回值。

第2题:

以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。

#define N 3

#define M 3

select(int a[N][M],int *n)

{int i,j,row=1,colum=1;

for(i=0;i

for(j=0;j

if(a[i][j]>a[row][colum]){row=i;colum=j;}

*n= 【16】 ;

return 【17】 ;

}

main()

{int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;

max=select(a,&n);

printf("max=%d,line=%d\n",max,n);

}


正确答案:
row;a[row][colum]

第3题:

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

#define 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

第4题:

下列函数定义中,会出现编译错误的是

A.max(int x,int y,int *z) { *z=x>y ? x:y; }

B.int max(int x,y) { int z; z=x>y ? x:y; return z; }

C.max(int x,int y) { int z; z=x>y?x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y); }


正确答案:B
解析:定义函数时,若需要声明形式参数时,则每个形式参数都必须单独声明类型。

第5题:

设存在函数intmax(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()

A、intm=max(22,max(59,70));

B、intm=max(max(22,59),70);

C、intm=max(22,59,70);

D、intm=max(59,max(22,70));


参考答案:C

第6题:

( 8 )有如下的函数定义:

int Xfun(int *a, int n){

int x=*a;

for(int *pa=a+1; pa<a+n; pa++)

if(*pa>x) x=*pa;

return x;

}

若执行了语句

int x[5]={23,46,78,55,16};

后,通过表达式 Xfun(x,5) 调用该函数,则得到的返回值为 【 8 】 。


正确答案:

第7题:

下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。

#include<stdlib.h>

#include<stdio.h>

void fun(int a[],int n, int *max, int *d)

{ int i;

*max=a[0];

*d=0;

for(i=0;【15】;i++)

if(*max<【16】)

{*max=a[i];*d=i;}

}

main()

{ int i, x[20], max, index, n=10;

randomize();

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

{

x[i]=rand()%50; printf("%4d",x[i]);

}

printf("\n");

fun(x,n,&max,&index);

printf("Max=%5d,Index=%4d\n",max,index);

}


正确答案:
i<n;a[i]

第8题:

下列说法不正确的是

A.int *fun();----fun是一个返回int指针的函数

B.int (*fun)();---fun是一个返回int指针的函数

C.int (*array[5])();----array是一个有5个元素的数组,每一个元素都是一个函数指针,指向一个返回int的函数

D.int (*fun(int))(int);----fun是带有一个int参数的函数,返回值是一个函数指针,这个指针指向带有一个int参数并返回int的函数


正确答案:B
解析:该函数中fun是一个函数指针。指向一个返回int的函数。

第9题:

设存在函数intmin(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是()

A、intm=min(min(15,26),min(15,47));

B、intm=min(15,26,47);

C、intm=min(15,min(47,26));

D、intm=min(min(47,26),16);


参考答案:B

第10题:

阅读下列函数说明和C代码,将应填入 处的字句写在答题纸的对应栏内。

[函数1.1说明]

函数int factors(int n)的功能是判断整数n(n>=2)是否为完全数。如果n是完全数,则函数返回0,否则返回-1。

所谓“完全数”是指整数n的所有因子(不包括n)之和等于n自身。例如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28是“完全数”。

[函数1.1]

int factors(int n)

{

int i,s;

for(i=1,s=0;i<=n/2;i++)

if(n%i==0) (1) ;

if( (2) )return 0;

return -1;

}

[函数1.2说明]

函数int maxint(int a[], int k)的功能是用递归方法求指定数组中前k个元素的最大值,并作为函数值返回。

[函数1.2]

int maxint(int a[],int k)

{

int t;

if( (3) ) return (4) ;

t=maxint(a+1, (5) );

return (a[0]>t)?a[0]:t;


正确答案:
                  

更多相关问题