C++课后复习思考题(4)

2019-03-28 18:27

#define M 20 #define N 10 #define L(r) r*r void main( ) {

cout<

cout<

(5)#include

int add(int x,int y=8); void main( ) {

int a=4;

cout<

int add(int x,int y) {

return x+y; }

(6)#include

int fun(double a,double b); void main( )

{ cout<

int fun(double a,double b) {

return a*b; }

(7)#include

#include void fun(char string[ ]); void main( ) {

char str[20]=\ cout<

void fun(char string[ ] ) { int i;

for(i=0;i

if (string[i]>='a' && string[i]<='z')

}

string[i]-=32;

3.编写函数将化氏温度转换为摄氏温度,公式为C=(F-32)*5/9;并在主函数中调用。 4.分别利用非递归和递归的方法编写函数求斐波那契数列第n项。 5.编写函数将字符串按逆序存放。 6.编写函数实现字符串拷贝功能。

7.编写函数利用数组名作参数计算数组arr[3][4]所有元素的和。

8.编写函数利用递归的方法计算x的n阶勒让德多项式的值。该公式如下:

(n?0)?1 ?PX(x)??x (n?1)

?((2?n-1)?x?Pn-1(x)-(n-1)?Pn-2(x))/n (n?1)?9.利用重载编写求整数绝对值和求实数绝对值两个函数。 10.利用全局变量并编写函数统计数组中奇数和偶数的个数。

第5章 复习思考题

1.指出下面程序中的错误 #include void main()

{ char x[5]=\; cout<

2.指出下面各题列出的代码中的错误。 (1)试图打印数组a的第5个元素值: cout<

(4)char a[12]= \;

3.有一个数组,内放10个整数,要求找出最小的数和它的下标。然后把它和数组中最前面的元素对换。 4.邮票组合。某人有4张3分的和3张5分的邮票。用这些邮票中的一张或若干张可以得到多少种不同的邮资?

5.用筛选法求100以内的素数。

6.有n个数,已按由小到大顺序排列好,要求输入一个数,把它插入到原有数列中,而且仍然保持有序,同时输出新的数列。

7.打印如下的杨辉三角形(要求打印出10行)

1 1 1

1 2 1 1 3 3 1

1 4 6 4 1

1 5 10 10 5 1 … … … … … …

8.有17个人围成一个圈(编号0~16),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号?

9.将螺旋方阵存放到n×n的二维数组中并把它打印输出。要求由程序自动生成下图所示螺旋方阵。n由程序读入。

1 16 15 14 13

2 17 24 23 12

3 18 25 22 11

4 19 20 21 10

5 6 7 8 9

10.水仙花数。如果一个正整数等于组成该数的各个数字的立方和,则称该数为水仙花数,亦称阿姆斯特朗数。如407=43+03+73,407是一个水仙花数。试编写求100~999之间的所有水仙花数的程序。

11. 输入一个n×n矩阵各元素的值,求出两条对角线元素值之和。

12. 有一行字符,要求将每个单词中的第一个字母改成大写字母(如果已经是大写则不变)。

13.有三行文字,找出其中共有多少个空格、多少个单词。规定单词以一个或多个空格相隔。如果一个单词恰好在行末结束,则下一行开头应有空格。句号或逗号后面亦应有空格。(提示:注意要考虑当最后一行最后一个单词恰好结束在最后一列的情况)

14.有一行文字,要求删去其中某个字符。此行文字和要删的字符均由键盘输入。要删的字符以字符形式输入(如输入a表示要删去所有的a字符有)。

15.编写一程序,将两个字符串连接起来,不用strcat函数。

16.编写一程序,将字符串s1和s2比较,如果s1>s2,输出一个正数;s1=s2,输出0;s1

17.编写一程序,将字符数组s2中的全部字符拷贝到字符数组s1中。不用strcpy函数。拷贝时,?\\0?也要拷贝过去。?\\0?后面的字符不拷贝。

第6章 复习思考题

1.选择题:

(1)如果x是整型变量,则合法的形式是( )。

A.&(x+5)

≤10)。

A.p[i]

B.*(*(a+i))

C.a[p-a]

D.*(&a[i])

(3)以下程序的输出结果是( )。

#include void main()

{ int a[3]={10,15,20}; int *p1=a,*p2=&a[1]; *p1=*(p2-1)+5; *(p1+1)=*p1-5; cout<

B.10

C.15

D.20

(4)执行以下程序段后,m的值为 ( )。

int a[2][3]={{1,2,3},{4,5,6}}; int m,*p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4)); A.15

B.14

C.13

D.12

(5)以下程序的输出结果是( )。

#include

void fun(int x,int y,int *cp,int *dp) { *cp=x+y; }

void main() { int a,b,c,d; } A.50,30

( )。

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;

B.30,50

C.80,-20

D.80,20

(6)要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确执行此功能的函数是

a=30,b=50; fun(a,b,&c,&d); cout<

B.*x

C.&*x

D.*&x

(2)若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i


C++课后复习思考题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:全国2014年4月自考高等数学(一)00020试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: