C++语言程序设计 自测题及答案 下载本文

4. (1) AA::MaxA() (2) x=a[i] (3) return x

5. (1) i

6. (1) AA::InsertA() (2) a[j+1]=a[j] (3) break

7. (1) x.SetA(a,6) (2) x.MaxA() (3) x.PrintA()

8. (1) AA x

(2) m=x.MaxA() (3) x.SortA()

9. (1) top==ARRAY_SIZE-1 (2) top++(或++top) (3) newElem

10.(1) int Stack::Pop() (2) elem[top--] (3) Pop()

四、写出程序运行结果 1. 2 1 5 2

2. worker cadre

3. 5 8 11 14

4. +-*/ abcd 1234

5. year:4 month:5 day:3

6. abcdef 30 shenyafen 95

31

7. abcdef 30 abcdefxyz 50

8. 12 20

9. 4 27

10. a: 7/12 b: -3/8 c: 5/24 d: 19/24

11. a: 6/15 b: 3/10 c: 7/10 d: 11/10

五、程序改错,指出错误的程序行并改正 1. 2 8

NODE *p=new NODE; p1->next=p;

2. 3 5

p=new NODE; p->next=plist;

3. c=a.FranAdd(b); c.FranOutput()

4. b->InitFranction(3,4); c=a->FranAdd(*b); c.FranOutput()

5. 5 9 12

public: } int CE::GetMin() {

6. 4 5 6 public:

A():c(0),a(0),b(0) {}

A(int aa, int bb): c(aa+bb) {a=aa; b=bb;}

7. 5 8 9

在函数体给常量c赋值 定义b多一个参数 定义y少一个参数

32

8. 13 15 17

在函数体给常量c赋值 缺少分号 定义z多一个参数

六、编程 1.

void p(int n) {

if(n!=0) {

for(int i=0; i

void p(int n) {

if(n!=0) { p(n-1);

for(int i=0; i

int AA::Count(int x) {

int i,c=0;

for(i=0; i

int AA::Search(int x) {

int i;

for(i=0; i

if(a[i]==x) return i; return -1; }

33

5.

int AA::MaxMin(int& x, int& y) {

int mx,my; mx=my=a[0];

for(int i=1; imx) mx=a[i]; if(a[i]

x=mx; y=my;

if(n>0) return 1; else return 0; } 6.

int AA::Compare(AA b) {

if(n!=b.n) return 0; for(int i=0; i

if(a[i]!=b.a[i]) return 0; return 1; } 7.

int AA::CompareBig(AA b) {

int k;

if(n>b.n) k=b.n; else k=n; for(int i=0; i

if(a[i]>b.a[i]) return 1;

else if(a[i]

34