您好,欢迎访问三七文档
《C++面向对象程序设计》实验报告第1页共8页实验1C++基础班级计-15-3学号15151010322姓名叶玮[实验目的]1、了解和使用VisualC++6.0集成开发环境,学会编辑、编译、连接和运行一个C++程序;2、了解面向对象程序设计中C++对C功能的扩充与增强,并善于在编写程序过程中应用这些新功能。[实验要求]按以下实验内容完成各题目,并把编译、运行过程中出现的问题以及解决方法填入实验报告中,按时上交。[实验学时]2学时。[实验内容]一、设计程序1、输入3个整数,实现按由小到大的顺序排序,并输出。要求:在函数中利用变量的引用做形参。【源程序】//、输入3个整数,实现按由小到大的顺序排序,并输出。要求:在函数中利用变量的引用做形参//#includeiostreamusingnamespacestd;voidm(int&a,int&b,int&c){intt;if(ba){t=a;a=b;b=t;}if(ca){t=a;a=c;c=t;}if(cb){t=b;b=c;c=t;}}序号:68《C++面向对象程序设计》实验报告第2页共8页intmain(){inta1,a2,a3;cina1a2a3;m(a1,a2,a3);couta3endl;couta2endl;couta1endl;return0;}【测试数据】2、编一个程序,用重载函数实现针对若干个数据输出最小值。要求包括3个同名函数,分别实现:①对2个实数。②对3个字符串。③对10个整数。【源程序】/*2、编一个程序,用重载函数实现针对若干个数据输出最小值。要求包括3个同名函数,分别实现:①对2个实数。②对3个字符串。③对10个整数。*/#includeiostream#includestringusingnamespacestd;floatmin(floata,floatb){if(ba)a=b;returna;}stringmin(stringa,stringb,stringc){if(ba)a=b;if(ca)a=c;returna;《C++面向对象程序设计》实验报告第3页共8页}intmin(intp[10]){intt,i;t=p[0];for(i=0;i10;i++){if(tp[i])t=p[i];}returnt;}intmain(){inti;floata,b;stringd,e,f;intp[10];cinab;cindef;for(i=0;i10;i++)cinp[i];floatm;m=min(a,b);coutmendl;stringn;n=min(d,e,f);coutnendl;intq;q=min(p);coutqendl;return0;}【测试数据】《C++面向对象程序设计》实验报告第4页共8页3、设计一个函数模板,实现对n个数据的排序。要求:使用整型、字符串、实型三种类型、不同数量的数据进行测试。【源程序】#includeiostream#includestringusingnamespacestd;templatetypenameTvoidpaixu(Ta[],intn){inti,j;Tt;for(i=0;in;i++){for(j=0;jn;j++){if(a[i]a[j]){t=a[j];a[j]=a[i];a[i]=t;}}}for(i=0;in;i++){couta[i];}cout\n;}intmain(){inti,n1,n2,n3,a1[100];stringa2[100];floata3[100];cinn1;for(i=0;in1;i++)《C++面向对象程序设计》实验报告第5页共8页{cina1[i];}cinn2;for(i=0;in2;i++){cina2[i];}cinn3;for(i=0;in3;i++){cina3[i];}paixu(a1,n1);paixu(a2,n2);paixu(a3,n3);return0;}【测试数据】4、在函数voidf(intn)中动态建立一个大小为n的一维整数数组,并对每个数组元素依次赋值为1,2,3,...,n,再输出所有元素的和,退出函数前释放此数组。编写主函数,进行测试。【源程序】/*4、在函数voidf(intn)中动态建立一个大小为n的一维整数数组,并对每个数组元素依次赋值为1,2,3,...,n,再输出所有元素的和,退出函数前释放此数组。编写主函数,进行测试。*/#includeiostreamusingnamespacestd;voidf(intn){int*a=newint[n];inti,s=0;for(i=0;in;i++)《C++面向对象程序设计》实验报告第6页共8页{a[i]=i+1;}for(i=0;in;i++){s=s+a[i];}coutsendl;delete[]a;}intmain(){intn;cinn;f(n);return0;}【测试数据】5、在函数voidg(intn,intm)中动态建立一个大小为nxm的二维整数数组,并对每个数组元素依次赋值为1,2,3,...,m*n,再输出每行和每列元素的和,退出函数前释放此数组。编写主函数,进行测试。【源程序】/*5、在函数voidg(intn,intm)中动态建立一个大小为nxm的二维整数数组,并对每个数组元素依次赋值为1,2,3,...,m*n,再输出每行和每列元素的和,退出函数前释放此数组。编写主函数,进行测试。*/#includeiostreamusingnamespacestd;voidg(intn,intm){int**a=newint*[n];inti,j,s1,s2,k=1;for(i=0;in;i++){a[i]=newint[m];}for(i=0;in;i++){《C++面向对象程序设计》实验报告第7页共8页for(j=0;jm;j++){a[i][j]=j+k;}k=k+m;}for(i=0;in;i++){s1=0;for(j=0;jm;j++){s1=s1+a[i][j];}couts1;}cout\n;for(i=0;im;i++){s2=0;for(j=0;jn;j++){s2=s2+a[j][i];}couts2;}cout\n;for(i=0;in;i++){delete[]a[i];}}intmain(){intn,m;cinnm;g(n,m);return0;}【测试数据】《C++面向对象程序设计》实验报告第8页共8页二、对本次实验的总结1,通过这次实验让我对c++的基本框架结构有了初步的了解,对于c++的一些头文件,格式也进行了记忆。2,初步了解了c语言与c++的区别,激发了我对c++研究的兴趣。3,对c++的函数模板,函数重载,引用的理解加深了4,对new和delete这两个运算符进行了运用,让我明白了他们的方便性。5,总之c++之路没有尽头,我们需要继续前行。
本文标题:c++的实验一。
链接地址:https://www.777doc.com/doc-4613727 .html