实践报告答案江苏科技大学c++_第1页
实践报告答案江苏科技大学c++_第2页
实践报告答案江苏科技大学c++_第3页
实践报告答案江苏科技大学c++_第4页
实践报告答案江苏科技大学c++_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、江苏科技大学课程实践报告设计题目:程序设计(VC+)实践设计时间至学院(系):专业班级:学生姓名:学号指导老师:2013年12月任务一一、实践任务2,试建立一个类SP,求,(%目1+23',另有辅助函数power(m,n)用于求m。二、详细设计1、类的描述与定义(1)私有数据成员intn,k:存放公式中n和k的值;(2)公有成员函数SP(intn1,intk1):构造函数,初始化成员数据n和k。intpower(intm,intn):求mn。intfun():求公式的累加和。voidshow():输出求得的结果。2、主要函数设计在主程序中定义对象s,对该类进行测试。三、源程序清单#in

2、clude<>classSPintn,k;public:SP(intn1,intk1)n=n1;k=k1;intpower(intm,intn)(intp=1;for(inti=1;i<n+1;i+)p*=m;returnp;)intfun()(ints=0;for(inti=1;i<n+1;i+)s+=power(i,k);returns;)voidA()(cout<<"n="<<n<<",k="<<k<<",f(n,k)="<<fun(

3、)<<endl;);voidmain()(SPa(3,3);(3,3);();();四、实践小结掌握用循环语句求mAn,和m!,熟练掌握函数的调用五、运行结果任务二一、实践任务3.建立一个类MOVE不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、详细设计1、类的描述与定义(1)私有数据成员floatarray20:一维整型数组。intn:数组中元素的个数。(2)公有成员函数MOVE(floatb,intm):构造函数,初始化成员数据。voidaverage():输出平均值,并将数组中的元素按要求重新放置。voidprint():输出一维数组。

4、2、主要函数设计在主程序中用数据,3,对该类进行测试。三、源程序清单#include<>classMOVEfloatarray20;intn;public:MOVE(floatb,intm)n=m;for(inti=0;i<m;i+)arrayi=bi;voidaverage()floatt=0;for(inti=0;i<n;i+)t+=arrayi;floatD=(t/n);cout<<"平均值为:"<<D<<endl;intj=n-1;for(i=0;i<j;i+,j-)while(arrayi<=

5、D)i+;while(arrayj>D)j-;t=arrayi;arrayi=arrayj;arrayj=t;)voidprint()(for(inti=0;i<n;i+)cout<<arrayi<<'t'cout<<endl;);voidmain()(floatb1=,3,;intnum;num=sizeof(b1)/sizeof(float);MOVEs(b1,num);();();四、实践小结应熟练掌握数组与指针的应用五、运行结果4.87.4产均值为:5.43333La2.33LPressaimuheytocontinue任

6、务三一、实践任务4.建立一个类MOVE将数组中最大元素的值与最小元素的值互换。二、详细设计1、类的描述与定义(1)私有数据成员int*array:一维整型数组。intn:数组中元素的个数。(2)公有成员函数MOVE(intb,intm):构造函数,初始化成员数据。voidexchange():输出平均值,并将数组中的元素按要求重新放置。voidprint():输出一维数组。MOVE():析构函数。2、主要函数设计在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。三、源程序清单#include<>classMOVEint*array;intn;

7、public:MOVE(intb口,intm)n=m;array=newintn;for(inti=0;i<n;i+)arrayi=bi;voidexchange()ints=0,max,min,x,y;floatave;max=min=array0;for(inti=0;i<n;i+)s+=arrayi;if(arrayi>max)max=arrayi;x=i;if(arrayi<min)min=arrayi;y=i;ave=s/n;cout<<"平均值为:"<<ave<<endl;arrayy=max;arra

8、yx=min;voidprint()for(inti=0;i<n;i+)cout<<arrayi<<""MOVE()deletearray;voidmain()intB=21,65,43,87,12,84,44,97,32,55;MOVEtest(B,10);();();四、实践小结学会求数组中最大元素与最小元素方法,并实现交换五、运行结果C:UsersthinkpadD?ilctop.DebugCppi(l),exeH平均值为:5421654387?78444123255Pressanvk”tocentinue任务四一、实践任务6.定义一个字

9、符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。二、详细设计1、类的描述与定义(1)私有数据成员char*str;inty:标记是否为回文字符串。(2)公有成员函数String(char*s):构造函数,用给定的参数s初始化数据成员str。y初始化为0。voidhuiwen():判断str所指向的字符串是否为回文字符串。voidshow():在屏幕上显示字符串。2、主要函数设计在主程序中定义字符串chars="ababcedbaba"作为原始字符串。定义一个String类对象test,用s初

10、始化test,完成对该类的测试。三、源程序清单#include<>#include<>classStringchar*str;inty;public:String(char*s)str=newcharstrlen(s)+1;strcpy(str,s);y=0;)voidhuiwen()char*p1=str,*p2=str;while(*p2)p2+;p2-;for(;p1<p2;p1+,p2-)if(*p1!=*p2)y=1;break;)voidshow()(if(y)cout<<str<<"不是回文字符串"<

11、<'n'elsecout<<str<<"是回文字符串"<<'n');voidmain()(StringA("1253321");();();)四、实践小结掌握判断回文字符串的一般形式。五、运行结果任务五一、实践任务11.建立一个STRING将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串“abcde”交叉插入字符串“ABCDE的结果为“aAbBcCdDeE或“AaBbCcDdEe。二、详细设计1、类的描述与定义(1)私有数据成员charstr180:存放被插入

12、的字符串。charstr240:存放待插入的字符串。(2)公有成员函数STRING(char*s1,char*s2):构造函数,用s1和s2初始化str1和str2。voidprocess。:将str2中的字符串插入到str1中。voidprint():输出插入后的字符串。2、主要函数设计在主程序中定义STRING转的又象test对该类进行测试。三、源程序清单#include<>#include<>classSTRINGcharstr180,str240;public:STRING(char*s1,char*s2)strcpy(str1,s1);strcpy(str2,

13、s2);voidprocess()inti=0,j=0;chart80;strcpy(t,str1);while(str2j)str1i+=tj;str1i+=str2j;j+;str1i='0'voidprint()cout<<str1<<endl;);voidmain()(chars180,s240;cout<<"请输入被插入字符串"<<endl;(s1,79);cout<<"请输入待插入字符串"<<endl;(s2,39);STRINGtest(s1,s2);(

14、);();四、实践小结发现字符插入的规律,再依次放入相应字符位置五、运行结果任务六一、实践任务14.建立一个类MOVE实现将数组中大字字母元素放在小写字母元素的左边。二、详细设计1、类的描述与定义(1)私有数据成员char*array:一维字符数组。intn:数组中元素的个数。(2)公有成员函数MOVE(charb,intm):构造函数,初始化成员数据。voidchange():进行排序换位。voidprint():输出一维数组。MOVE():析构函数。2、主要函数设计在主程序中用数据"fdsUFfsTjfsKFEkWC"对该类进行测试。三、源程序清单#include<>classMOVE(char*array;intn;public:MOVE(charb,intm)(n=m;array=newcharn;for(inti=0;i<n;i+)arrayi=bi;voidchange()(chara;for(inti=1;i<n/2;i+)(if(arrayi-1>='a'&&arrayi-1<='z')(a=arrayi-1;for(intj=i-1;j<n;j+)arrayj=arrayj+1;arrayn-1=a;i-;)voidprint(

温馨提示

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

评论

0/150

提交评论