C++实验报告题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.求三个整数的最大值和最小值。定义三个整形变量x1、x2、x3,并通过cin输入变量值,用if-else语句对三个整数进行比较,求出最大值和最小值。用cout显示计算结果#includeiostreamusingnamespacestd;intmain(){inta,b,c,max,min;coutpleaseinputthreeintegernumbers:endl;cinabc;if(a=b)max=b;elsemax=a;if(maxc)max=c;if(a=b)min=b;elsemin=a;if(minc)min=c;cout最大数是max最小数是minendl;return0;}2.判断用户输入正整数n是否为素数,输出判断结果。#includeiostreamusingnamespacestd;intmain(){intn;coutPleaseinputaninteger;cinn;for(inti=2;in;i++){if(n%i==0){coutn不是素数endl;return0;}}coutn是素数endl;return0;}3.求1!+2!+3!+…+10!#includeiostreamusingnamespacestd;intmain(){intn;intsum=0,t=1;for(n=1;n=10;n++){t=t*n;sum=sum+t;}cout1!+2!+3!+...+10!=sumendl;return0;}4.输入10个整数放于数组中,利用指针访问数组,求出该数组中的最大数max和最小数min#includeiostreamusingnamespacestd;intmain(){inta[10],i;int*max=a;int*min=a;cout输入10个数:endl;for(i=0;i10;i++)cina[i];for(i=1;i10;i++)if(*maxa[i])max=&a[i];for(i=1;i10;i++)if(*mina[i])min=&a[i];cout最大数*maxendl;cout最小数*minendl;return0;}5.定义c风格字符串,删掉字符串中的数字字符#includeiostreamusingnamespacestd;intmain(){charc[20]=a1b2;inti,j,n;for(i=0,j=0;istrlen(c);i++)if(c[i]'9'||c[i]'0'){c[j]=c[i];j++;}cout删除后的字符串endl;for(i=0;ij;i++)coutc[i];coutendl;return0;}7.定义一个函数,判断三个整形边长能否构成三角形,如果是三角形,则判断它是否是直角三角形。#includeiostreamusingnamespacestd;intjudge(inta,intb,intc);intmain(){inta,b,c,s;cout输入三个数endl;cinabc;s=judge(a,b,c);if(s==1){cout是三角形endl;if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)cout并且是直角三角形endl;elsecout但不是直角三角形endl;}elsecout不是三角形endl;return0;}intjudge(inta,intb,intc){if(a+bc||a-bc)return1;elsereturn0;}8.用重载函数实现两个整数和三个整数的排序,按照从小到大的顺序将排序结果输出。#includeiostreamusingnamespacestd;voidsort(inta,intb);voidsort(inta,intb,intc);intmain(){inta,b,c;cout输入三个数endl;cinabc;sort(a,b);sort(a,b,c);return0;}voidsort(inta,intb){if(ab)cout从小到大是:endlbendlaendl;elsecout从小到大是:endlaendlbendl;}voidsort(inta,intb,intc){if(ab){if(bc)cout从大到小输出:endlcendlbendlaendl;elseif(ac)cout从大到小输出endlbendlcendlaendl;}if(ab){if(bc)cout从大到小输出:endlaendlbendlcendl;elsecout从大到小输出:endlaendlcendlbendl;}}9.在主函数中输入一个十进制数,调用转换函数把这个十进制数转换成二、八、十六进制数。#includeiostreamusingnamespacestd;voidswap(intx);intmain(){inta;cout请输入一个数endl;cina;swap(a);return0;}voidswap(intx){inta[10],i=0;while(x){a[i++]=x%2;x=x/2;}for(--i;i=0;i--)couta[i];coutendl;}10.在主函数中定义两个变量,调用交换函数实现两个数的交换。分别用指针和引用作参数来编写交换函数。(体会引用的作用)#includeiostreamusingnamespacestd;voidswap1(int*a,int*b);voidswap2(int&a,int&b);intmain(){intx=8,y=6;swap1(&x,&y);coutx=xy=yendl;swap2(x,y);coutx=xy=yendl;return0;}voidswap1(int*a,int*b){intt;t=*a;*a=*b,*b=t;}voidswap2(int&a,int&b){intt;t=a;a=b;b=t;}11.声明一个Circle类,有1)数据成员Radius(半径)2)成员函数GetArea()计算圆的面积3)构造函数Circle(floatradius)进行初始化4)析构函数在主函数中创建一个Circle类的对象进行测试(输入一个数值,作为Circle类对象的半径,调用该对象的GetArea()求以该数值为半径的圆的面积)。#includeiostreamusingnamespacestd;classCircle{public:Circle(floatradius){Radius=radius;}voidGetArea(){floatarea=3.14*Radius*Radius;cout圆面积=areaendl;}~Circle(){}private:floatRadius;};intmain(){floata;cout请输入半径:endl;cina;Circlecir(a);cir.GetArea();return0;}12.声明一个tree类,有1)数据成员ages(树龄)2)成员函数grow(intyears)对ages加上years3)成员函数age()显示对象的数据成员ages的值4)构造函数tree(intn=0)进行初始化5)析构函数在主函数中创建一个tree类的对象进行测试(创建一个树龄为18的对象,调用age()显示树龄,之后调用grow(4),生长4年,再显示树龄)#includeiostreamusingnamespacestd;classtree{public:voidgrow(intyears);voidage();tree(intn=0){ages=n;};~tree(){}private:intages;};voidtree::age(){cout显示年龄agesendl;}voidtree::grow(intyears){ages=years+ages;cout树龄agesendl;}intmain(){treep1(18);p1.age();p1.grow(4);return0;}13.改正以下程序中的错误,并分析错误原因。提示:该程序中point类的构造函数定义不正确,在main()中对数据成员的访问不正确。要求修改程序后,在主函数中创建一个对象并初始化为坐标(5,5),然后输出这个点的X,Y坐标。#includeiostreamusingnamespacestd;classpoint{intx1,x2;public:point(intx,inty){x1=x;x2=y;cout'('x1','x2')'endl;}};intmain(){pointdata(5,5);return0;}14.声明一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两点的坐标,并有成员函数计算矩形的周长及面积。编程实现求左下角与右上角坐标分别为(2.1,3.2),(5.2,6.3)的矩形周长及面积。#includeiostreamusingnamespacestd;classRectangle{public:Rectangle(){}doublex1,x2,y1,y2;voidPerimeter(doublex1,doublex2,doubley1,doubley2){doublePer;Per=((x2-x1)+(y2-y1))*2;cout周长=Perendl;}voidArea(doublex1,doublex2,doubley1,doubley2){doubleAre;Are=(x2-x1)*(y2-y1);cout面积=Areendl;}};intmain(){Rectanglep1;p1.Perimeter(2.1,5.2,3.2,6.3);p1.Area(2.1,5.2,3.2,6.3);return0;}15.给出一个Document类,从Document派生出Book类,增加PageCount变量。在主函数中进行测试,创建Book类对象并进行初始化,输出书名和页数。#includeiostream#includestringusingnamespacestd;classDocument{public:Document(){}~Document(){}Document(char*name);char*Name;voidPrintNameOf();};Document::Document(char*name){Name=newchar[strlen(name)+1];strcpy(Name,name);}Document::~Document(){delete[]Name;}voidDocument::PrintNameOf(){coutNameendl;}classBook:publicDocument{public:Book(char*m,intPageCount):Document(m){strcpy(mm,m);cout调用派生类有参构造函数endl页数PageCount书名mmendl;}~Book(){}charmm[10];};intmain(){cout创建有参派生类对象obj1endl;Bookobj1(C++程

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功