cout<<\请输入日期:\
cin>>a.year >>a.month >>a.day ;
cout<
5.由键盘输入N名学生姓名,再按字典排列输出N名学生的姓名。 #include 第5章 函 数 一、单选题 1.不能作为函数重载判断依据的是( B )。 A. const B. 返回类型 C. 参数个数 D. 参数类型 2.函数定义为fnFact(int &x),变量定义n=100,则下面调用正确的是( C )。 A.fnFact(20) B. fnFact(10+n) C. fnFact(n) D. fnFact(&n) 3.下面的函数调用语句中,fnNunc()函数的实参个数是( A )。 fnNunc(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8))); A. 3 B. 4 C. 5 D. 8 4. 数组名作为实参传递给函数时,传递的是( C )。 A.该数组长度 B. 该数组的元素个数 C.该数组首地址 D. 该数组中各元素的值 5.设函数原型:void fnFu(int a, int b=6,char c = ?*?);下面调用不合法的是( C )。 A.fnFu(4) B. fnFu(4,7) C. fnFu( ) D. fnFu(1,1,'*') 二、填空题 1. 在函数定义前加上关键字“inline”,表示该函数被定义为( 内联函数 )。 2. 写出下列程序的输出结果是(30 25 )。 #include } void main( ) { int c = 20; fun(c); a += c; cout< } 3.下面程序执行后的输出结果是( 12 )。 #include \#define MA(x) x*(x+1)void main(){ a=1,b=2;cout< 4. 以下程序运行结果是(10,64 )。 #include cout< } 5. 写出下列程序的输出结果是( 6 )。 #include else return fun(n-1)+1; } void main( ) { int i,j=0; for(i=1;i<4;i++) j += fun(i); int cout< 三、编程题 1.编写一函数 , 求 x2 + 1 (x > 1)) f (x ) = x2 (-1 <= x <= 1) x2 – 1 (x < -1 ) 的值 , 要求函数原型为 double fun(double x ); double fun(double x ) { double y; if(x>1.0)y = x*x+1.0; else if(x>= -1.0 && x<=1.0) y= x*x; else y =x*x-1; return y; } 2.编写一函数求 1~n 之和 , 要求函数原型为 long sum(int n ); long sum(int n ) { long s=0L; int i; for(i=1;i<=n;i++) s += i; return s; } 3.用函数调用的方法,求f(k,n)=1k+2k+…+nk,其中k, n由键盘输入。 #include \long fnPower(int n,int k) { int i=1; long nk=1L; for(i=1;i<=k;i++) nk *= n; return nk; } long fn(int k,int n) { long f=0L; for(int i=1;i<=n;i++) f += fnPower(i,k); return f; } void main() { int n,k; cout<<\请输入n,k:\ cin>>n>>k; cout< 4.用递归算法求下列函数的值. 1 n = 0 p(n,x)= x n = 1 ((2x-1)*p(n-1,x)*x – (n-1 )*p(n-2,x))/n n>1 注意选择好合适的参数类型和返回值类型。在main函数中,输入下列三组数据: (a) n = 0,x = 7; (b) n = 1,x = 2; (c) n = 3, x = 4,求出相应的函数值。 #include \long fnP(int n,int x) { long s; if(n==0)s=1; else if(n==1)s=x; else s =((2*x-1)*fnP(n-1,x)*x - (n-1 )*fnP(n-2,x))/n ; return s; } void main() { int n,x; cout<<\输入n,x:\ cin>>n>>x; cout< 5. 设计一个重载函数,求n个数的最大值(n=2,3)。并编程调用验证。 #include \int fnMax(int x,int y) { int max; max = x>y?x:y; return max; } int fnMax(int x,int y,int z) { int max; max = x>y?x:y; max = z>max?z:max; return max; } void main() { cout< 6. 通过函数重载,利用冒泡排序算法编写函数fnSort(),完成任务int型数组、float型数组和字符数组的排序。 #include \void fnSort(int a[]); void fnSort(float a[]); void fnPrint(int a[]); void fnPrint(float a[]); #define N 6 void main() { int a[N]={1,22,7,45,90,3}; float b[N]={1.6F,22.5F,7.2F,45.9F,90.0F,3.0F}; fnSort(a); fnPrint(a); fnSort(b); fnPrint(b); } void fnSort(int a[]) { int k,i,t; for(k=1;k<=N-1;k++) //对数组进行冒泡排序 { for(i=N-1;i>=k;i--) if(a[i] { t=a[i]; a[i]=a[i-1]; a[i-1]=t; } //反序则交换 } } void fnSort(float a[]) { int k,i; float t; for(k=1;k<=N-1;k++) //对数组进行冒泡排序 { for(i=N-1;i>=k;i--) if(a[i] { t=a[i]; a[i]=a[i-1]; a[i-1]=t; } //反序则交换 } } 搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育面向对象程序设计(C++)自我测试练习参考答案 (3)全文阅读和word下载服务。
相关推荐: