程序设计及算法语言A卷

上传人:枫** 文档编号:508494191 上传时间:2023-05-17 格式:DOC 页数:8 大小:83.50KB
返回 下载 相关 举报
程序设计及算法语言A卷_第1页
第1页 / 共8页
程序设计及算法语言A卷_第2页
第2页 / 共8页
程序设计及算法语言A卷_第3页
第3页 / 共8页
程序设计及算法语言A卷_第4页
第4页 / 共8页
程序设计及算法语言A卷_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《程序设计及算法语言A卷》由会员分享,可在线阅读,更多相关《程序设计及算法语言A卷(8页珍藏版)》请在金锄头文库上搜索。

1、东 南 大 学 考 试 卷(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、)类说明(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分)doub

3、le 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+)

4、 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 cla

5、ss, 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.

6、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) ;e

7、lse 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()(

8、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();/ 无关成员函数省略,缺省的=等不必定义;/

9、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下例线性表的析构函数将线性表存入文本文件,而构造函数由该文件

10、恢复线性表。(共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(!in

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号