江科大c++期末实验报告_第1页
江科大c++期末实验报告_第2页
江科大c++期末实验报告_第3页
江科大c++期末实验报告_第4页
江科大c++期末实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实 验 报 告 制作者: 徐珩 第一章: 1、从键盘输入10个整数,求它们的平均值。#include <iostream.h>void main()cout<<"输入10个整数:"<<endl;int j=1,k;float s,n;for(s=0;j<=10;j+)cin>>k;s=s+k;n=s/10;cout<<s/10<<endl;运行结果:2、计算s=1+2+3+I,累加到s大于1000,并输出s和i的值。#include <iostream.h>v

2、oid main()int s,i=0;for(s=0;s<=1000;i+)s=s+i;cout<<s<<'t'<<i<<endl;运行结果:3、找到2到200间的素数,按5个一行输出。#include <iostream.h>void main()int s,i,k=0;cout<<"2到200间的素数:"<<endl;for(i=2;i<=200;i+)for (s=2;s<=i/2;s+)if(i%s=0) break;if(s<=i/2) c

3、ontinue;elsecout<<i<<'t'k+; if(k%5=0) cout<<endl;运行结果:第四章:1、设计一个程序,通过指针变量求键盘输入的一串字符中单词的个数,如输入“I am a boy.”则输出其中包含的单词个数4。#include<iostream.h>void main() char p100; cin.getline(p,100); int num=0,n=0, flag=0; for(;pn;n+) if(pn!=' ') flag=1; if(flag)if(pn+1='

4、'|pn+1='0') num+; cout<<p<<"包含的单词个数是:"<<num<<endl;程序运行结果是:2、找出一维数组中值最大的元素及其下标,注意最大元素可能不止一个。例如,3,5,2,7,6,1,7,4,7,5中的最大元素为7,其下标分别为3,6,8。#include<iostream.h>void main()int a10=3,5,2,7,6,1,7,4,7,5;for(int n=0,k=a0;n<10;n+)if(an>k) k=an;cout<&l

5、t;"最大的元素是:"<<k<<'n'<<"下标是:"<<'t'for( int b=0;b<10;b+)if(ab=k)cout<<b<<'t'cout<<endl;程序运行结果为:3、将杨辉三角的前N行保存到二维数组的下半三角中。杨辉三角由正整数构成,每行除最左侧与最右侧的数为1外,其他数等于其左上方与正上方两个数的和,杨辉三角的前5行如下:11 11 2 11 3 3 11 4 6 4 1#include<

6、iostream.h>void main() int n44; for(int k=0;k<5;k+) nk0=1; nkk=1; for(int i=2;i<5;i+) for(int j=1;j<i;j+)nij=ni-1j+ni-1j-1; for(i=0;i<5;i+) for(int j=0;j<i+1;j+) cout<<nij<<'t' cout<<endl; 程序运行结果:第五章:1、设计函数int int_to_string(int num,char a,int &n),对一个不为

7、0的任意位数的十进制整数num,统计出num的位数n及各位数字之和s,并将每位数字以字符的形式存储到数组a 中。在主函数中调用int_to_string函数,对从键盘读入的整数进行测试。调用该程序的运行结果如下(带下划线部分为键盘输入内容): 请输入一个整数:12345 12345是5位数,其各位数字为1、2、3、4、5,各位数字之和为15。#include<iostream.h> int int_to_string (int num,char a,int &n) int sum=0,c=num,i=0,k; while(num) k=num%10; num/=10; su

8、m+=k; ai=k+48; i+; cout<<c<<"是"<<i<<"位数,其各位数字为" for(i-;i;i-) cout<<ai<<"、" cout<<a0<<"," return sum; void main() int sum,num,n;char a100; cin>>num; sum=int_to_string(num,a,n); cout<<"各位数字之和为"

9、;<<sum<<endl; 运行结果:2、设计处理二维数组的程序,要求如下。(1)定义函数void input(int a4,int n),用于对二维数组进行初始化。(2)定义函数void output(int (*a)4,int n),用于输出二维数组中的元素。(3)定义函数int search_max(int a4,int n,int &cool,int &vol),用于查找二维数组a中的最大值元素,并记录其行下标和列下标,其中最大值元素的值通过函数返回值带回主函数,对应的下标分别存储到col和vol中。(4)在主函数中进行测试。#include&l

10、t;iostream.h>void input(int a4,int n) int k4=1,2,3,4,6,7,8,9,10,11,12,13; for(int i=0;i<n;i+) for(int j=0;j<4;j+) aij=kij;void output(int(*a)4,int n)for(int i=0;i<n;i+) for(int j=0;j<4;j+) cout<<aij<<'t' cout<<endl;int search_max(int a4,int n,int &col,int

11、 &vol) int max=a00;for(int i=0;i<n;i+) for(int j=0;j<4;j+)if(aij>max) max=aij; col=i; vol=j; return max;void main()int a104;int col,vol;input(a,3);output(a,3);cout<<search_max(a,3,col,vol)<<endl;cout<<col<<'t'<<vol<<endl;运行结果:3、设计程序,求两个整数的最小公倍

12、数。#include<iostream.h>void fun(int x,int y) int k=x; if(x>y) k=y; if(k<=0) cout<<"请输入有效数据!"<<endl; else for(k;k<=x*y;k+) if(k%x=0&&k%y=0) cout<<"最小公倍数"<<k<<endl; break; void main() int a,b; cin>>a>>b; fun(a,b);运行结果:

13、第七章:1、定义一个Point类表示平面上的一个点,再定义一个Rectangle类表示平面上的矩形,用Point类的对象作为Rectanlge类的成员描述平面上的矩形的顶点坐标。要求类Point中有相应的成员函数可以读取点的坐标值,类Rectangle中含有一个函数,用以计算并输出矩形的面积及顶点坐标。在主函数中对类Rectangle进行测试。#include<iostream.h>#include<math.h>class Point float a,b;public:Point(float x,float y)a=x;b=y;Point();float geta()

14、return a;float getb()return b;class Rectangle float area,x1,y1,x2,y2;public:Rectangle(Point p1,Point p2)x1=p1.geta();y1=p1.getb();x2=p2.geta();y2=p2.getb();void print()area=fabs(x1-x2)*fabs(y1-y2); cout<<"面积是:"<<area<<endl; cout<<"顶点坐标是("<<x1<<

15、","<<y1<<")("<<x1<<","<<y2<<")(" <<x2<<","<<y1<<")("<<x2<<","<<y2<<")"<<endl; ;void main() Point p1(2,3); Point p2(6,7); Rectangle

16、 r1(p1,p2); r1.print();运行结果:2、定义一个类,用于删除字符串中多余的字符,使其中的字符互不相同,具体要求如下:(1)类的数据成员(字符串)用指针表示,并在构造函数中根据参数的实际情况为该成员指针申请内存空间。(2)删除多余字符串时,只能在原字符串空间中进行,不得借助其他辅助空间。#include<iostream.h>#include<string.h>class D char *s;public:D(char *p) int n=strlen(p); s=new charn+1; strcpy(s,p);D()delete s;void de

17、al();void print();void D:deal() int i,j,k,flag;for(i=0;si;i+)for(j=i+1;sj;j+)if(si=sj)k=j;flag=1;while(sk) sk=sk+1;k+;if(flag=1) flag=0; j-;void D:print() cout<<s<<endl;void main() char a100;cin.getline(a,100); D d1(a);d1.deal();d1.print();运行结果:第八章:1、教师月工资的计算公式为:基本工资+课时补贴。教授的基本工资为5000元,补

18、贴为50元/课时;讲师的基本工资为3000元,补贴为20元/课时。设计一个程序求教授和讲师的月工资,具体要求如下。(1)定义教师类Teacher作为基类,包含数据成员姓名、月工资和授课时数,以及构造函数(初始化姓名和月授课时数)、输出数据成员的函数。(2)定义教师类Teacher的公有派生类Professor 表示教授,公有派生类Lecturer表示讲师,并分别计算其月工资。(3)在主函数中对定义的类进行测试。#include<iostream.h>#include<string.h>class Teacher char *name;float wage;float h

19、our;public:Teacher(char *p,float w,float t) int n=strlen(p);name=new charn+1;strcpy(name,p);wage=w;hour=t;Teacher()delete name;void print()cout<<"姓名"<<name<<'n'<<"月工资"<<wage<<'n'<<"授课时数"<<hour<<endl;c

20、lass Professor:public Teacherpublic:Professor(char *p,float t):Teacher(p,5000+50*t,t);class Lecturer:public Teacherpublic:Lecturer(char *p,float t):Teacher(p,3000+20*t,t);void main() char p110="professor",p210="lecturer"float t=10;Professor k1(p1,t);k1.print();Lecturer k2(p2,t);k

21、2.print();运行结果:2、设计一个程序输出汽车信息,具体要求如下。(1)定义汽车类Auto作为抽象类,包含车牌号、车轮数等数据成员,以及构造函数、输出车辆信息的纯虚函数。(2)定义类Auto 的公有派生类Car表示小客车,新增荷载人数,重新定义输出函数。(3)定义类Auto 的公有派生类Truck表示货车,新增荷载吨位,重新定义输出函数。(4)在主函数中对定义的类进行测试,用基类对象的引用实现动态联编。#include<iostream.h>#include<string.h>class Autoprotected:char *s;int wheel;public: Auto(char *p,int t) int n=strlen(p); s=new charn+1; strcpy(s,p); wheel=t;Auto()delete s;virtual void print()=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论