整理c++机考题目加答案.docx
- 文档编号:5207640
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:34
- 大小:25.94KB
整理c++机考题目加答案.docx
《整理c++机考题目加答案.docx》由会员分享,可在线阅读,更多相关《整理c++机考题目加答案.docx(34页珍藏版)》请在冰豆网上搜索。
整理c++机考题目加答案
1.c++机考题目加答案(推荐完整)
2.
3.
4.编辑整理:
5.
6.
7.
8.
9.尊敬的读者朋友们:
10.这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(c++机考题目加答案(推荐完整))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
11.本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为c++机考题目加答案(推荐完整)的全部内容。
12.
13.c++机考题目加答案(推荐完整)
14.
15.
16.编辑整理:
张嬗雒老师
17.
18.
19.
20.
21.尊敬的读者朋友们:
22.这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望c++机考题目加答案(推荐完整)这篇文档能够给您的工作和学习带来便利.同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
23.本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为 24. 25.实现一个大小固定的整型数据元素集合及其相应操作(元素的添加、删除;判断两个集合是否相等;判断一个数是否为集合中的元素;交集;并集).P76。 列3.24 #include h> constmaxCard=16;//集合中元素个数的最大值,默认为int型 enumErrCode{noErr,overflow};//错误代码 enumBool{False,True};//Bool类型定义 classSet//定义集合类 { intelems[maxCard];//存储元素的数组 intcard;//集合中元素的个数 public: voidEmptySet(){card=0;} BoolMember(int);//判断一个数是否为集合中的元素 ErrCodeAddElem(int);//向集合中添加元素 voidRmvElem(int);//删除集合中的元素 voidCopy(Set*);//把当前集合拷贝到形参指针指向的集合中 BoolEqual(Set*);//判断两个集合是否相等 voidPrint(); voidIntersect(Set*,Set*);//交集 ErrCodeUnion(Set*,Set*);//并集 }; BoolSet: : Member(intelem) { for(inti=0;i〈card;++i) if(elems[i]==elem) returnTrue; returnFalse; } ErrCodeSet: : AddElem(intelem) { if(Member(elem)) returnnoErr; if(card〈maxCard) { elems[card++]=elem; returnnoErr; } returnoverflow; } voidSet: : RmvElem(intelem) { for(inti=0;i if(elems[i]==elem) { for(;i elems[i]=elems[i+1]; --card; return; } } voidSet: : Copy(Set*set) { for(inti=0;i〈card;++i) set->elems[i]=elems[i]; set—〉card=card; } BoolSet: : Equal(Set*set) { if(card! =set—>card) returnFalse; for(inti=0;i〈card;++i) //判断当前集合的某元素是否是set所指集合中的元素 if(! set—>Member(elems[i])) returnFalse; returnTrue; } voidSet: : Print() { cout〈〈”{”; for(inti=0;i〈card;++i) cout<〈elems[i]〈<";”; cout〈〈"}\n”; } voidSet: : Intersect(Set*set,Set*res)//交集: *this∩*set—>*res { res—>card=0; for(inti=0;i〈card;++i) for(intj=0;j〈set->card;++j) if(elems[i]==set->elems[j]){ res—>elems[res->card++]=elems[i]; break; } } ErrCodeSet: : Union(Set*set,Set*res)//并集: *set∪*this—>*res { set->Copy(res); for(inti=0;i if(res->AddElem(elems[i])==overflow) returnoverflow; returnnoErr; } //下面是测试用的主程序 voidmain() { Sets1,s2,s3; s1。 EmptySet(); s2.EmptySet(); s3。 EmptySet(); s1。 AddElem(10); s1。 AddElem(20); s1。 AddElem(30); s1。 AddElem(40); s2。 AddElem(30); s2.AddElem(50); s2.AddElem(10); s2.AddElem(60); cout〈〈”s1=”;s1.Print(); cout<<"s2=”;s2。 Print(); s2。 RmvElem(50); cout<<"s2—{50}=";s2.Print(); if(s1。 Member(20)) cout<〈"20isins1\n”; s1.Intersect(&s2,&s3); cout<<”s1intsecs2=”;s3。 Print(); s1。 Union(&s2,&s3); cout〈<"s1unions2=”;s3。 Print(); if(! s1.Equal(&s2)) cout<<”s1! =s2\n"; } 26.实现一个大小可变的整型数据元素集合,集合可存储的数据元素个数在对象构造时给定,由构造函数为数据元素分配存储空间,在对象被释放时由析构函数释放存储空间。 P78.3。 25 #include constmaxCard=16;//集合中元素个数的缺省最大值 enumErrCode{noErr,overflow};//错误代码 enumBool{False,True};//Bool类型定义 classSet {intsize;//元素的最大个数 int*elems;//存储元素的数组 intcard;//集合中元素的个数 public: Set(intsz=maxCard) {card=0;size=sz;elems=newint[size];} ~Set(){delete[]elems;} BoolMember(int); ErrCodeAddElem(int); voidRmvElem(int); voidCopy(Set*); BoolEqual(Set*); voidPrint(); voidIntersect(Set*,Set*); ErrCodeUnion(Set*,Set*); }; BoolSet: : Member(intelem) { for(inti=0;i if(elems[i]==elem) returnTrue; returnFalse; } ErrCodeSet: : AddElem(intelem) { if(Member(elem)) returnnoErr; if(card { elems[card++]=elem; returnnoErr; } returnoverflow; } voidSet: : RmvElem(intelem) { for(inti=0;i〈card;++i) if(elems[i]==elem) { for(;i〈card—1;++i) elems[i]=elems[i+1]; —-card; return; } } voidSet: : Copy(Set*set) { if(set—〉size { delete[]set->elems; set-〉elems=newint[size]; set->size=size; } for(inti=0;i set—>elems[i]=elems[i]; set->card=card; } BoolSet: : Equal(Set*set) { if(card! =set-〉card) returnFalse; for(inti=0;i if(! set-〉Member(elems[i])) returnFalse; returnTrue; } voidSet: : Print() { cout〈〈”{”; for(inti=0;i cout<〈elems[i]〈<";"; if(card>0) cout< cout〈〈"}\n"; } voidSet: : Intersect(Set*set,Set*res) { if(res—〉size〈size) { delete[]res-〉elems; res—〉elems=newint[size]; res->size=size; } res->card=0; for(inti=0;i〈card;++i) for(intj=0;j if(elems[i]==set->elems[j]) { res->elems[res-〉card++]=elems[i]; break; } } ErrCodeSet: : Union(Set*set,Set*res) { if(res—>size { delete[]res-〉elems; res->elems=newint[size+set-〉size]; res—>size=size+set-〉size; } set—〉Copy(res); for(inti=0;i〈card;++i) if(res—>AddElem(elems[i])==overflow) returnoverflow; returnnoErr; } voidmain() { Sets1,s2,s3; s1.AddElem(10); s1。 AddElem(20); s1。 AddElem(30); s1.AddElem(40); s2。 AddElem(30); s2。 AddElem(50); s2.AddElem(10); s2.AddElem(60); cout〈〈"s1=”;s1.Print(); cout<<”s2=";s2.Print(); s2。 RmvElem(50); cout<<”s2—{50}=”;s2.Print(); if(s1。 Member(20)) cout〈<"20isins1\n”; s1.Intersect(&s2,&s3); cout<〈"s1intsecs2=”;s3.Print(); s1。 Union(&s2,&s3); cout<<"s1unions2=";s3。 Print(); if(! s1。 Equal(&s2)) cout<〈"s1! =s2\n”; } 27.设计一个学生类student,它具有的私有数据成员是: 注册号、姓名、数学成绩、英语成绩、计算机成绩;具有的公有成员函数是: 求三门课程总成绩的函数sum();求三门课平均成绩average();显示学生数据信息的函数print();获取学生注册号的函数get_reg_num;设置学生数据信息的函数set_stu_inf()。 P81。 6 编制主函数,说明一个student类对象的数组并进行全班学生信息的输入与设置,而后求出每一个学生的总成绩、平均成绩、全班学生总成绩最高分、全班学生总平均分,并在输入一个注册号后,输出该学生有关的全部数据信息。 #include #include usingnamespacestd; classStudent{ private: intnum; charname[10]; floatmath; floatenglish; floatcomputer; public: voidset_stu_inf(intn,char*ch,floatm,floate,floatc) { num=n;strcpy(name,ch);math=m;english=e;computer=c; } floatsum() { return(math+english+computer); } floataverage() { return(math+english+computer)/3; } intget_reg_num() { returnnum; } voidprint() { cout<〈”学号: ”〈〈num<〈endl 〈〈”姓名: "<〈name〈〈endl 〈<"数学: "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 c+ 题目 答案