程序设计及算法语言A卷

上传人:努力****83 文档编号:64067488 上传时间:2022-03-21 格式:DOC 页数:8 大小:83.50KB
返回 下载 相关 举报
程序设计及算法语言A卷_第1页
第1页 / 共8页
程序设计及算法语言A卷_第2页
第2页 / 共8页
程序设计及算法语言A卷_第3页
第3页 / 共8页
点击查看更多>>
资源描述
东 南 大 学 考 试 卷(A卷)学号 姓名 密封线课程名称程序设计及算法语言1考试学期07-08-2得分适用专业吴健雄学院考试形式闭卷考试时间长度120分钟卷面总分67,另有上机编程33分,总成绩100分一、简答题(每问2分,共6分)自 觉 遵 守 考 场 纪 律 如 考 试 作 弊 此 答 卷 无 效下列各段程序都存在错误,请说明错误所在及理由(1)类说明(2分)class Squareprivate: int upper_left_x=0, upper_left_y=0;int side_length=2;public:Square();Square();int draw();答: (2)类说明(2分)class ComplexdoubleReal,Image ;public : Complex(double r=0.0, double i=0.0) Real=r;Image=i; friend Complex operator+(const Complex &,const Complex &);Complex Complex:operator+(const Complex & c1,const Complex & c2)return Complex(c1.Real+c2.Real,c1.Image+c2.Image); 答: (3)求1到100倒数和的程序段(1分)double sum=0;int i;for(i=1;i=100;i+) sum+=1/i;coutsumendl;答: 1二、程序阅读与修改题(共22分)1设输入大写字母D,画出输出图形。(5分)int main()char in;int i,j;docoutin;if(in=65)&(in=90) in+=32;while(in122); (5分)int line=in-a;for (i=0;i0;j-) cout ; for(j=1;j=2*i+1;j+) cout char(i+a);cout0;i-)for(j=0;j=line-i;j+) cout ;for(j=1;j=2*i-1;j+) cout char(i-1+a);cout=A)for(i=A;i=w;i+) couttw;coutendl;ch(w-1);for(i=A;i=w;i+) couttw;coutendl;3写出下例的运行结果。希望实现动态的多态性,如未实现请指出错误,并给出更正后的运行结果。(6分)class base3运行结果:指出错误并更正:更正后的运行结果:public:virtual void fn(int x)coutIn base class, x=xendl;class sub:public basepublic:virtual void fn(float x)coutIn sub class, x=xfn(2);p=&s;p-fn(3.5);return 0;4下例求给定数的平方根,第一次输入2,第二次输入-2。给出屏幕上显示的内容。(5分)double dsqrt(double d)if(d0) throw 2;4return sqrt(d);int main()int x;while(1)cout”请输入一个正整数:”x;trycoutdsqrt(x)endl;catch(int)cout”这是一个负整数!”endl;if(d0) break;return 0;三、程序填空完善题(除特别标出者,每空1.5分,共39分)1下例是由数组类模板派生栈类模板,注意格式。(共10.5分)#includeusing namespace std;template class arrayT asize;int last;int maxSize;public:array()last=-1;maxSize=size;bool isfull()if(last=maxSize-1) return true; else return false; bool isempty()if(last=-1) return true; else return false;void insertRear(T data) /将data插在数组最后一个元素位置,可用于创建数组if(1) ) (2) ;else coutarray is full,can not insert!endl;T deleteRear() /将数组最后一个元素从数组中删除,值返回if(3) ) (4) ;else coutarray is empty,can not delete!endl;void print() /输出数组int i;for(i=0;(5) ;i+) coutait;coutendl;/其他无关接口函数略;template class stack:private array/私有派生屏蔽原有的接口函数public:void push(T data)(6) ;/调用基类合适的公有函数T pop()(7) ; /调用基类合适的公有函数,并返回void stackprint()print();2下面采用冒泡排序的成员函数模板实现线性表降序排序。冒泡排序采用从线性表尾部往头部进行,比较运算符采用小于运算符。(其中810三空各2分,共9分)template class Orderedlistint maxsize;int last;T slistsize;public:Orderedlist()last=-1;maxsize=size;void BubbleSort();bool Insert(T & elem,int i);void print();/ 无关成员函数省略,缺省的=等不必定义;/Insert(T & elem ,int i)和print()不再重复定义template void Orderedlist:BubbleSort()/降序bool noswap; /交换标志int i,j;T temp;for (8) )/从线性表尾部往头部逐个元素完成排序noswap=true;for(9) )/注意一趟排序的方向if(10) )/关键字比较采用小于号,实现降序排序temp=slistj;slistj=slistj+1;slistj+1=temp;(11) ;/标识本趟有交换(12) ;/本趟无交换,则终止算法。3下例线性表的析构函数将线性表存入文本文件,而构造函数由该文件恢复线性表。(共13.5分)template class Orderedlistint maxsize;int last;T slistsize;public:Orderedlist();Orderedlist();int getlast()return last;void putlast(int n)last=n;T getslist(int k)return slistk;void putslist(T t,int k)slistk=t;void print()for(int i=0;i=last;i+) coutslisti;/ 无关成员函数省略;template Orderedlist:Orderedlist()last=-1;maxsize=size;T t;(13) ;/定义流文件infile.open(14) ); /进入时由文件mylist.txt建立对象if(!infile)cout没有数据文件t;(15) ;(16) ;last-;/对应文本文件结束处是回车换行后加文件结束符infile.close();print();coutendl;template Orderedlist:Orderedlist()int i;(17) ;outfile.open(18) ); /退出时由文本文件保存对象if(!outfile)cout不能打开文件endl;elsefor(19) )(20) ;outfile.close();/这时生成的文本文件结束处是回车换行后加文件结束符问:作为线性表的模板类型参数T的实参类型中需对那些运算符进行重载:(21) 4完善链表类模板的复制构造函数。(共6分)templateclass List;templateclass NodeT info; /数据域Node *link; /指针域public:Node(); /生成头结点的构造函数Node(const T & data); /生成一般结点的构造函数friend class List;/省略其他成员函数定义; templateclass ListNode *head,*tail; /链表头指针和尾指针public:List(); /构造函数,生成头结点(空链表)List(List &); /拷贝构造函数List(); /析构函数/其它成员函数略;templateList:List(List & ls) /拷贝构造函数Node* TempP=ls.head-link,*P1;head=tail=(22) ;/动态建立链表的头结点while(TempP!=NULL)P1=new Node(23) );/复制一个链表结点P1-link=tail-link;/向后生成链表(24) ;tail=P1;(25) ;/准备复制ls的下一个结点共 8 页 第 8 页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!