设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()。
第1题:
以下函数 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; 放错了位置
第2题:
下列说法不正确的是
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的函数
第3题:
请将以下程序中的函数声明语句补充完整
#include <stdio.h>
int【12】 ;
main( )
{int x,y,(*p)();
p=max;
printf(“&d\n”,&x,&y);
}
Int max(int a,int b)
{return (a>b/a:b);}
(12)max(int a,int b)
第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); }
第5题:
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));
第6题:
请编写两个函数int sum_of_powers(int k,int n),powers(int m,int n),求1~6的k次方的和,sum_of_powers中参数k和n分别表示k次方和所求数列中最大的一个自然数,最后返回所求值,powers中参数m和n分别表示m为底数n为指数,最后返回所求值。要求使用for循环和函数嵌套(int sum_of_powers中调用powers)实现算法。输出结果如下:
sum of 4 powers of intergers from 1 to 6=2275
注意:部分源程序已存在文件test25_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum_of_powers和powers的花括号中填写若干语句。
文件test25_2.cpp的内容如下:
include<iostream.h>
const int k(4);
const int n(6);
int sum_of_powers(int k,int n),powers(int m,int n);
void main()
{
cout<<"sum of "<<k<<" powers Of intergers from 1 to "<<n<<"=";
cout<<sum_of_powers(k,n)<<endl;
}
int sum_of_powers(int k,int n)
{
}
int powers(int m, int n)
{
}
第7题:
以下程序中的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;
}
第8题:
请将以下程序中的函数声明语句补充完整。
#include <stdio.h>
int 【 1 2 】 ;
main()
{ int x,y,(*p)();
scanf("%d%d",&x,&y);
p=max;
printf("%d\n",(*p)(x,y));
}
int max(int a,int b)
{ return(a>b?a:b);}
第9题:
下列函数定义中,会出现编译错误的是 ______。
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);}
第10题:
主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。
A.funa(int*x,int*y) {int*p; *p=*x;*x=*y;*y=*p; }
B.funb(int x,int y) {int t; t=x;x:y=y=t;}
C.func(int*x,int*y) {*x=*y;*y=*x;}
D.fund(int *x,int*y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}