非电类c++大一期末复习资料(5)

2025-08-16

};

}

~A() {if(p) delete p;} A (A &a) { }

void Print()

{cout<<*p<

(2) ;

void main() {

A a(10); A b(a); b.Print();

}

2. 以下程序的功能是求2个集合的差:对于数组a中的每个元素,如果该元素不在数组b中,则放到第3个数组c中,程序最后输出数组c中的内容。其中In函数是判断x是否在指定数组中,如果不在数组中则返回1,否则返回0。请完善程序,使该程序的运行结果是: 1 4 5 8 10 11

注:当数组元素的值为0时,不作为数据处理。 #include int In(int *a,int x) { }

void main() {

int a[9]={1,2,4,5,7,8,10,11,0}; int b[5]={2,3,7,9,0}; int c[9]={0},*p1=a,*p2=c; while(*p1) { }

(5) ; while(*p2)

cout<< (6) <<'\\t'; if( (4) )

*p2++=*p1; p1++; while(*a)

if( (3) )return 0; return 1;

}

cout<<'\\n';

3. 下面是一个继承与派生的程序,基类学生类Student派生一个成绩类。Sort()函数是一个按学生总成绩升序排列的排序程序。要求该程序的输出结果为:

学号:2 姓名:张浩 性别:男 英语:85 C++:67 总成绩:152 学号:1 姓名:李力 性别:男 英语:78 C++:83 总成绩:161 学号:3 姓名:李莉 性别:女 英语:90 C++:82 总成绩:172 请完善程序。

#include #include

class Student{ //学生类 };

class Grade (7) //成绩类 { };

void Sort(Grade *g,int n) {

Grade t;

(9) ; float Eng,Cpp,Sum;

Grade(int i=0,char *n=\ (8) {Eng=e;Cpp=c;Sum=Eng+Cpp;} void Show()

{cout<<\英语:\总成public:

int Id;

char Name[20]; char Sex[4];

Student(int i=0,char *n=\{ }

void Print()

{cout<<\学号:\姓名:\性别:\

Id=i;

strcpy(Name,n); strcpy(Sex,s);

public:

绩:\

}

int i,j;

for(i=0;i

for(j=i+1;j

if( (10) ) {t=g[i];g[i]=g[j];g[j]=t;}

void main() { }

4. 下面是一个二维坐标类,该程序运行后输出的结果是: (11,21) (10,20) 请完善程序。

#include class Point{ };

Point operator++( (14) ) { }

void main() {

Point p1(10,20),p2; p2=p1++; Point t=a; a.X++;a.Y++; return t; float X,Y;

Point( (12) ) {X=x;Y=y;} void Print()

{cout<<'('<

friend Point operator++( (13) ); public:

Grade s[]={Grade(1,\李力\男\张浩\男\

Grade(3,\李莉\女\

Sort( (11) ); for(int i=0;i<3;i++) { }

s[i].Print(); s[i].Show();

}

p1.Print(); p2.Print();

5. 下面是一个链表处理函数,该函数的功能是把链表中指定数据的结点,移到链表头部成为链表的第一个结点,如果没指定结点,则链表保持不变。请完善该函数。 链表中结点的数据结构如下: struct node{ };

node *Move_one_node(node *head, int num) {node *p1,*p2; if(head==NULL){ cout<<\链表为空!\\n\ }

if(head->data==num){ cout<<\不需移动!\\n\ else{

p1=head;

p2=head->next;

while( p2->data!=num && p2->next!=NULL ){ p1=p2;

}

p2= (15) ; return(NULL); int data; node *next;

if(p2->data==num){

p1->next= (16) ; p2->next=head;

}

cout<

}

return(head); }

head= (17) ; cout<<\移动了一个结点!\\n\ else

东 南 大 学 考 试 卷(A卷)

2011-06期末考试(非电类) 参 考 答 案

一、单选题(每题1.5分,共30分) 1-10 A D C C D 11-20 A B B A D

D A C A C A C A D C

二、阅读程序(共36分)[注:“/”表示输出另起一行] 1、 1,9/4,1/1,5/1,1 (4分) 2、 2 4 6 8 10 12/1 2 5 10 17 26 (6分) 3、 x=2,y=3/in copy construct/x==y/x!=y (6分) 4、 n=10,k=4/n=20,k=4/n=30,k=4/n=40,k=4 (4分) 5、 C::print()/B::print()/C::print()/A::print() (4分) 6、 yuan=125,jiao=250,fen=125 (8分)

yuan=100,jiao=200,fen=55 yuan=100,jiao=200,fen=55 yuan=100,jiao=200,fen=105

7、Uare Student/Estudent (4分) 三、程序完善题(每空2分,共34分)

1、 (1)new int (2)p=new int(*a.p+5) 2、 (3)x==*a++ (4) In(b,*p1) 或 In(b,*p1)==1

或In(b,*p1)!=0 (5) p2=c (6) *p2++ 3、(7) :public Student (8) Student(i,n,s) (9) friend void Sort(Grade *,int) (10) g[i].Sum>g[j].Sum (11) s,3

4、(12) float x=0,float y=0 (13) Point &,int (14) Point &a,int


非电类c++大一期末复习资料(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:35吨履带起重机臂架系统 - 图文

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

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