ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:42.07KB ,
资源ID:28244831      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28244831.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单类程序设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单类程序设计.docx

1、单类程序设计1题目:定义一个描述学生基本情况的类Student,数据成员包括学号、C+成绩、英语和数学成绩,成员函数包括获取学号、求出总成绩和平均成绩,格式: long getID() int sum ()double avg ()#include using namespace std;/*Program*/ class Student long ID,c,e,m;public:Student(long _ID,long _c,long _e,long _m)ID=_ID;c=_c;e=_e;m=_m;long getID()return ID;int sum () return c+e+m

2、;double avg ()return (c+e+m)/3;/* End */void main(void) Student s(201211145, 90, 80, 97); coutID:s.getID()endl; couttThe sum of source:s.sum()endl; couttThe avg of source:s.avg()endl;2题目:定义一个处理日期的类TDate,它有3个私有数据成员:Day, Month, Year,并实现如下要求:构造函数重载,缺省的年月日置0; TDate() TDate(int day) TDate(int day, int mo

3、nth) TDate(int day, int month, int year) #include using namespace std;class TDate int Day, Month, Year;/*Program*/public:public: TDate () Day=0; Month=0; Year=0; ; TDate (int day) Month=0; Year=0; Day=day; TDate (int day, int month) Year=0; Day=day; Month=month; TDate (int day, int month, int year)

4、Day=day; Month=month; Year=year; /* End */ void display() if(Day+Month+Year=0) cout日期无效endl; else cout今天是; if(Year!=0) coutYear年; if(Month!=0) coutMonth月; if(Day!=0) coutDay日endl; ;/end class TDate void main(void) TDate d1,d2(24),d3(24,3),d4(24,3,2012); d1.display (); d2.display (); d3.display (); d

5、4.display ();/*-3题目:定义一个三角形类Ctriangle,求三角形面积和周长#include #include using namespace std; class Ctriangle private: double a,b,c; public: Ctriangle(double x,double y,double z) a=x;b=y;c=z; double GetZhouChang(); double GetArea(); void display() coutCtriangle:a=a,b=b,c=cendl; coutZhouChang:GetZhouChang()e

6、ndl; coutArea:GetArea()endl; ; /*Program*/double Ctriangle :GetZhouChang() return a+b+c; double Ctriangle :GetArea() double p=(a+b+c)/2; double t=p*(p-a)*(p-b)*(p-c); return sqrt(t) ; /* End */void main() Ctriangle T(3,4,5); T.display(); 4题目:定义个time类,其三个数据成员分别代表小时分秒,使其对象可以按格式“hh:mm:ss”显示时间。要求写一个带三个参

7、数的默认构造函数。#include using namespace std;/*Program*/class Time int h,m,s;public: Time(int ss=0,int mm=0,int hh=0) h=hh; m=mm; s=ss; void print(void);/* End */void Time:print(void) couth:m:sendl;void main(void) Time t1(27,37,5), t2(27,37), t3(27), t4; cout格式=hh:mm:ssendl; t1.print(); t2.print(); t3.prin

8、t(); t4.print();数组与指针1题目:有一个数组,内放10个整数,要求找出最小的数和它的下标,然后把它和数组中最前面的元素对换。#include #include using namespace std;void main() int a10; int i,min,j,temp;/min为最小值,j为最小值下标 cout请输入10个数n; for(i=0;iai;/*Program*/ min=a0;j=0; for(i=0;i10;i+) if(ai=min) j=i; min=ai; temp=aj;aj=a0;a0=temp;cout交换后数组endl; for(i=0;i1

9、0;i+) coutai ; coutendl;/* End */2题目:下面的函数统计子字符串substr在字符串str中出现的次数,如果substr在str中不出现,则返回值0。请完成该函数。格式:int str_count(char *substr, char *str)输出结果见图:样张.JPG-*/#include #include using namespace std;/*Program*/int str_count(char *substr, char *str)int q=strlen(substr),p=strlen(str),a=0,w=0,y=0,b=0,o=0; fo

10、r(int i=0;ip;i+)/q,p表示字符串的长度 for(a=0;aq;a+)/先在字符串s中 int b=i; if(substra=strb)/当字符串ss的第一个字符与字符串s的第a个字符相等时; w+;b=b+1;/w表示字符串s中能与ss相等的数目; if(w=q) y+;w=0;/当又一次在s中寻找到ss时y+; continue; return y;/* End */void main(void) char ss100; char *s=ABCDabcd1234+-*/XYZxyz/ABCDabcd1234+-*/Aa1 ABCDabcd; cout母串=sendl; c

11、out待计数子串=; cin.getline(ss,99); cout子串在母串中共出现str_count(ss,s)次endl;3题目:定义一个函数min,求n个数中的平均值、最小数和其下标,并在主函数中打印平均值、最小数和下标。格式:int min(int *s, int n,double &aver)注意:如有多个最小值,以第一个为准。输出结果见图:样张.JPG-*/#include using namespace std;/*Program*/int min(int *s, int n,double &aver)int j=0,i;double sum=s0;for(i=1;in;i+

12、)sum+=si;if(sisj)j=i;aver=sum/n;return j;/* End */void main(void) int pos; double aver; int s10=34,12,83,56,29,93,56,12,88,72; int s13=12,83,56; int n=10; int i; pos=min(s,n,aver); coutn个数如下:endl; for(i=0;in;i+ ) coutsi ; coutn平均值=averendl; cout最小值=sposendl; cout位置=pos+1endl; n=3; pos=min(s1,n,aver)

13、; coutn个数如下:endl; for(i=0;in;i+ ) couts1i ; coutn平均值=averendl; cout最小值=s1posendl; cout位置=pos+1endl;4题目:输入一个16进制数,将其转换为10进制数输出结果见图:样张.JPG#include#includeusing namespace std;void main() char data164=A7; int data10=0,d; int i; /*Program*/ 方法1sscanf( data16, %X, &data10 );方法2/for(i=0;data16i!=0;i+)/ / d

14、=(data16i=0&data16i=9)/ ?data16i-0:data16i-A+10);/ data10=data10*16+d;/ /* End */ coutdata10endl;5题目:有一个34的矩阵,要求编写程序求出其中值最大的那个元素的值,以及其所在的行号和列号。运行结果见样张.JPG#include using namespace std;void main(void) int a34 = 1,3,5,6,8,10,11,9,18,13,14,15; int max; / 保存最大值 int n; / 保存最大值所在行的行号 int m; /保存最大值所在列的列号/*P

15、rogram*/ max=0; max=a00; for(int i=0;i3;i+)/i是行,三行四列;/这里的ij要注意顺序。 for(int j=0;jmax) max=aij; n=i; m=j;/* End */ couta34矩阵中最大的值为:maxendl; cout最大值行号:nendl; cout最大值列号:mendl;/*-数组与指针21题目:输入一个字符串,把其中的字符按逆序输出,如输入light,输出thgil.#include#includeusing namespace std;void main() char c,str=light; int i,length;

16、/*Program*/ int temp; int j=0; length=0; do if(strj!=0)/统计出字符串的长度; length+; j+; while(strj!=0); /coutlength; for(i=0;i(length-1)/2-1) strlength=0; break; /* End */ coutstrendl;2题目:m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,但score数组的数据为10、20、30、40、50、60、70、80、90时,函数返回

17、的人数应该时4,below中的数据应为10、20、30、40。输出结果见图:样张.JPG#include using namespace std;/*Program*/ int choose(int *grade,int N,int *below) int q=0,sum=0,ave=0; for(int i=0;iN;i+) sum=sum+gradei; ave=sum/N; int j=0,w=0; for(i=0;iN;i+) if(gradeiave) belowj=gradei; j+; w+; belowj+1=0;/添加结束符;这一步不能至于括号外 return w; /* E

18、nd */void main(void) const int N=9; int scoreN=10,20,30,40,50,60,70,80,90; int belowN=-1,-1,-1,-1,-1,-1,-1,-1,-1; int number,i; number=choose(score,N,below); cout低于平均分的人数=numberendl; cout低于平均分的分数=; for(i=0;inumber;i+) coutbelowi ; coutendl; 3题目:编写程序求解M*M矩阵的两条对角线上的元素之和。#include using namespace std;co

19、nst int M=5;void main(void) int minor; / 主对角线上元素之和 int leading; / 次对角线上元素之和 int aMM= 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14,15, 16,17,18,19,20, 21,22,23,24,25 ;/*Program*/ minor=0; leading=0; for(int i=0;i5;i+) minor=minor+aii; leading=leading+ai4-i;/* End */ cout主对角线上元素之和=leadingendl; cout次对角线上元

20、素之和=minorendl;4题目:有n个数,已按由小到大顺序排列好,要求输入一个数,把它插入到原有数列中,而且仍然保持有序,同时输出新的数列。输出结果见图:样张.JPG-*/#include #include using namespace std;void main() int i,n,j; int a11=10,20,30,40,50,60,70,80,90,100; for(i=0;i10;i+) coutai ; coutendl; coutn;/*Program*/ int s=0,d=0;/sum表示数列长度;do s+; d+; while(ad!=0); int sum=0;

21、/sum和s用两个变量较好。sum=s;asum=n;asum+1=0;int min=0,tep=0;for(i=0;i=sum;i+) min=i; for(j=i+1;jaj) min=j; tep=ai; ai=amin; amin=tep;cout插入后的数组endl;for(i=0;isum+1;i+)coutai ;coutendl; /* End */ 类的组合;1定义一个点类Point,包括x坐标和y坐标(int)。定义一个CRect类,代表一个矩形,要求CRect类中有代表矩形的左上角坐标(x1,y1)和右下角坐标(x2,y2)点类的对象,要求CRect类中有两个成员函数R

22、ectHeight()和RectWidth(),通过这两个函数能得到矩形的高和宽。(高和宽必须为非负数)输出结果见样张.JPG#include #include using namespace std;/*Program*/class Point public: int x,y; Point(int x1=0,int y1=0)x=x1;y=y1; void setP(int x1,int y1)x=x1;y=y1; ; class CRect Point lefttop,rightbottom; public: CRect(Point a,Point b):lefttop(a),rightb

23、ottom(b) CRect() void SetR(Point a,Point b)lefttop=a;rightbottom=b; int RectHeight() return fabs(lefttop.y-rightbottom.y); int RectWidth() return fabs(rightbottom.x-lefttop.x); ; /* End */int main() Point p1(1,9),p2(8,5),p3,p4; /p1-左上角坐标 1-x坐标 9-y坐标 p2-右下角坐标 8-x坐标 5-y坐标 CRect cr(p1,p2),cr1; coutHeight=cr.RectHeight()endl; /输出矩形高度 coutWidth=cr.RectWidth()endl; /输出矩形宽度 p3.setP(1,1);/改变p坐标 p4.setP(3,5); / 改变p4坐标 cr1.SetR(p3,p4)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1