设存在函数 int sum(int,int)返回两个参数的和,若求20、45、100三个数的和,下列表达式不正确的是
【 】
A.int m=sum(20,45,100) ;
B.int m=sum(sum(20,45),100);
C.int m=sum(20,sum(45,100));
D.int m=sum(45,sum(20,100));
第1题:
下列说法不正确的是
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的函数
第2题:
( 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 】 。
第3题:
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));
第4题:
请编写一个函数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)
{
}
第5题:
请编写一个函数inline long sum(int n),用递归函数完成运算:sum(n)=1*1+2*2+…n*n,递归表达式为 sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件test10_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test10_2.cpp的内容如下:
include<iostream.h>
inline long sum(int n)
{
}
void main()
{
int n;
cout<<"输入n:";
cin>>n;
cout<<"结果为:"<<sum(n)<<endl;
}
第6题:
有如下的运算符重载函数定义:double operator+(int i,int k){return double(i+k);}但定义有错误,对这个错误最准确的描述是( )。
A.#NAME?
B.两个int型参数的和也应该是int型,而这里将+的返回类型声明为double
C.没有将运算符重载函数声明为某个类的友元
D.C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
第7题:
avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是
A)int avg(jnt *a,int n.);
B)int avg(int a[10],int n);
C)int avg(int a,int n);
D)int avg(int a[ ],int n);
第8题:
下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。
public class Sum{
public static void main(String args[])
{
//1.调用suml(int n),求1~100的和
System.out.println("1~100的和:"+sum1(100));
//2,调用sum2(int n),求1~100的和
System.out.println("1~100的和:"+sum2(100));
}
static int suml(int n)
{
int result=0;
for(int i=1;i<=n;i++)
________________
retrun result;
}
static int sum2(int n)
{
if(______________)
return 1;
else
_____________
}
}
第9题:
编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<stdio.h>
define MAX 100
int fun(int lim, int se[MAX])
{
}
main()
{
int limit,i,sum;
int aa[MAX];
clrscr();
printf("输入一个整数");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0) /*每行输出10个数*/
printf("\n");
printf("%5d ",aa[i]);
}
}
第10题:
本题定义了一个方法add(),用于求两个整形数的和。方法中有两个整形参数a和b,方法体中计算a和b的和sum,并将结果返回。程序中调用add()方法求整数24和34的和,并将结果打印输出。
public class javal{
public static void main(String[]args){
int a=24,b=34;
System.out.println(add(a,b));
}
public static int add( ){
;
sum—a+b;
;
}
}
第11题:
设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是()。
第12题:
int m = max(22,max(59,70));
int m = max(max(22,59),70);
int m = max(22,59,70);
int m = max(59,max(22,70));
第13题:
( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:
int sum ( int n ) {
if ( n==0 )
return 0;
else
return n+sum ( n-1 ) ;
}
在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。
第14题:
( 9 )有如下的函数定义:
int Xfun(int x){
int y=x;
{int x=10; y+=x;}
return x+y;
}
通过表达式 Xfun(5) 调用该函数,则得到的返回值为 【 9 】 。
第15题:
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);
第16题:
请编写一个函数sum(int array[],int len),该函数返回数组array的所有整数元素的和,其中len为数组array的长度。
注意:部分源程序已存在文件test34_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
程序输出结果如下:
sum of array 15
文件test34_2.cpp的内容如下:
include <iostream.h>
int sum(int array[],int len)
{
}
void main()
{
static int a[5]-{1,2,3,4,5};
int result=sum(a,5);
cout<<"sum of array "<<result<<end1;
}
第17题:
有如下的函数定义:
int Xfun(int*a,int n){
int X*a;
for(int*pa=a+1;pa if(*pa>x)x=*pa;
retum x;
}
若在执行了语句:
int x[5]=(23,46,78,55,16);
后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为______。
第18题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【函数2.1说明】
递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。
【函数2.1】
int sum (int a[],int n)
{
if(n>0) return (1);
else (2);
}
【函数2.2说明】
有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。
【函数2.2】
int compare (int a, int b, int c )
{ int temp, max;
(3) a:b;
(4) temp:c;
}
【函数2.3说明】
递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。
【函数2.3】
int dec( int a[], int n )
{
if(n<=1) return 1;
if(a[0]<a[1]) return 0;
return (5);
}
第19题:
请编写一个函数int sum(int n),该函数完成1+2+3+…+n的运算,并返回运算结果,其中n>0。注意:请使用递归算法实现该函数。
注意:部分源程序已存在文件:test11.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test11_2.cpp的内容如下:
include<iostream.h>
int sum(int n)
{
}
void main()
{
int n;
cout<<"输入n:";
cin>>n;
int result;sum(n);
cout<<"结果为:"<<result<<endl;
}
第20题:
设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数,请填空。main(){ int findbig(int,int,int); int (*f)(),x,y,z,big; f=; scanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,z); printf("big=%d\n",big);}
第21题:
av9功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是( )。
A.int avg(int*a,int n);
B.int avg(int a[lO],int n);
C.int avg(int a,int n);
D.int avg(int a[],int n);
第22题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明1]
函数int function(int a)的功能是判断指定的正整数是否为素数,若是,返回1,否则返回0。
[C函数1]
int function(int a)
{ int yes,i;
i=2;yes=1;
while(i<=a/2 && (1) ){
if( (2) ) yes=0;
i++;
}
return yes;
}
[说明2]
函数int deleteARR(int*arr,intn)的功能是指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。函数返回值是互不相同的元素个数。
[C函数2]
int deleteARR(int*arr,int n)
{ int k,j;
k=0;j=1;
while(j<n){
if( (3) )
(4)=arr[j];
j++;
}
return (5);
}
第23题:
int avg(int *a,int n);
int avg(int a[10],int n);
int avg(int a,int n);
int avg(int a[],int n);