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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

江苏科技大学C++课程实践报告答案.docx

1、江苏科技大学C+课程实践报告答案江苏科技大学 课程实践报告 设计题目: 程序设计(VC+)实践 设计时间 至 学院(系): 专业班级: 学生姓名: 学号 指导老师: 2013年12月 任务一一、实践任务2试建立一个类SP,求,另有辅助函数power(m,n)用于求。二、详细设计1、类的描述与定义(1)私有数据成员 int n,k:存放公式中n和k的值;(2)公有成员函数 SP(int n1,int k1):构造函数,初始化成员数据n和k。 int power(int m, int n):求mn。 int fun( ):求公式的累加和。 void show( ):输出求得的结果。2、主要函数设计

2、在主程序中定义对象s,对该类进行测试。三、源程序清单 #include class SP int n,k;public: SP(int n1,int k1) n=n1;k=k1; int power(int m,int n) int p=1; for (int i=1;in+1;i+) p*=m; return p; int fun() int s=0; for (int i=1;in+1;i+) s+=power(i,k); return s; void A() coutn=n,k=k,f(n,k)=fun()endl; ;void main() SP a(3,3); a.power(3,3

3、); a.fun(); a.A();四、实践小结掌握用循环语句求mn,和m!,熟练掌握函数的调用。五、运行结果任务三一、实践任务3建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、详细设计1、类的描述与定义(1)私有数据成员 float array20:一维整型数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(float b,int m):构造函数,初始化成员数据。 void average():输出平均值,并将数组中的元素按要求重新放置。 void print():输出一维数组。2、主要函数设计在主程序中用数据1.3

4、,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3对该类进行测试。三、源程序清单四、实践小结应熟练掌握数组与指针的应用。五、运行结果任务四一、实践任务4建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。二、详细设计1、类的描述与定义(1)私有数据成员 int *array:一维整型数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(int b,int m):构造函数,初始化成员数据。 void exchange():输出平均值,并将数组中的元素按要求重新放置。 void print():输出一维数组。 MOVE():析构函数。2、主要函数设计在主程序中用数据

5、21,65,43,87,12,84,44,97,32,55对该类进行测试。三、源程序清单四、实践小结学会求数组中最大元素与最小元素方法,并实现交换。五、运行结果任务六一、实践任务6定义一个字符串类String,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“123321”是回文字符串。二、详细设计1、类的描述与定义(1)私有数据成员 char *str; int y:标记是否为回文字符串。(2)公有成员函数 String (char *s) :构造函数,用给定的参数s初始化数据成员str。y初始化为0。 void huiwen () :判断str所指向的字符

6、串是否为回文字符串。 void show( ) :在屏幕上显示字符串。2、主要函数设计在主程序中定义字符串char s=”ababcedbaba”作为原始字符串。定义一个String类对象test,用s初始化test,完成对该类的测试。三、源程序清单四、实践小结掌握判断回文字符串的一般形式。五、运行结果任务十一一、实践任务11建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串等长)。例如将字符串“abcde” 交叉插入字符串“ABCDE”的结果为“aAbBcCdDeE”或“AaBbCcDdEe”。二、详细设计1、类的描述与定义(1)私有数据成员 char str180 :

7、存放被插入的字符串。 char str240 :存放待插入的字符串。(2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。 void process():将str2中的字符串插入到str1中。 void print():输出插入后的字符串。2、主要函数设计在主程序中定义STRING类的对象test对该类进行测试。三、源程序清单#include#includeclass STRINGprivate: char str180;/存放被插入的字符串; char str240;/存放待插入的字符串;public: STRING(c

8、har*s1,char*s2) strcpy(str1,s1); strcpy(str2,s2); void process(); void print();void STRING:process() int i,j; int n=strlen(str1); if(strlen(str2)strlen(str1) /当待插入的字符串ABCDEFG比被插入的字符串abcde长或相等时,逻辑算法:abcde-a b c d e-空格处依次插入ABCDEFG-aAbBcCdDeEFG; for(i=n-1;i0;i-) str1i+i=str1i;/被插入的字符串由最后一位开始各位向后移动i位; f

9、or(i=1,j=0;i2*n;i+=2,j+) str1i=str2j;/在空出的位置处依次插入字符串; i-; for(;jA B C D E FG-空格处插入abcde-AaBbCcDdEeFG; for(i=n;istrlen(str2)-1;i-) str1i+strlen(str2)=str1i;/比待插入的字符串长的部分均向后移strlen(str2)位; for(i=strlen(str2)-1;i0;i-) str1i+i=str1i;/之前的部分均向后移i位; for(i=1,j=0;i2*strlen(str2);i+=2,j+) str1i=str2j;/将待插入的字符

10、串插入空格处,完成插入; void STRING:print()/输出插入后的字符串 cout插入后的字符串为:str1endl;void main()/测试 STRING test(ABCDE,abcde); test.process(); test.print();四、实践小结发现字符插入的规律,再依次放入相应字符位置。五、运行结果任务十二一、实践任务12建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长)。例如将字符串“abcde” 交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。二、详细设计1、类的描述与定

11、义(1)私有数据成员 char str160 :存放被插入的字符串。 char str240 :存放待插入的字符串。 char str3100 :存放插入后的字符串。(2)公有成员函数 STRING (char *s1, char *s2 ):构造函数,用s1和s2初始化str1和str2。 void process():将str2中的字符串插入到str1中,存放到str3中。 void print():输出插入后的字符串。2、主要函数设计在主程序中定义STRING类的对象test对该类进行测试。三、源程序清单#include#includeclass STRINGprivate: char

12、str160; char str240; char str3100;public: STRING(char*s1,char*s2) strcpy(str1,s1); strcpy(str2,s2); void process(); void print();void STRING:process() int i,j; int n=strlen(str1); if(strlen(str2)strlen(str1) /当待插入的字符串ABCDEFG比被插入的字符串abcde长或相等时,逻辑算法:abcde-a b c d e-空格处依次插入ABCDEFG-aAbBcCdDeEFG; for(i=n

13、-1;i0;i-) str1i+i=str1i;/被插入的字符串由最后一位开始各位向后移动i位; for(i=1,j=0;i2*n;i+=2,j+) str1i=str2j;/在空出的位置处依次插入字符串; i-; for(;jA B C D E FG-空格处插入abcde-AaBbCcDdEeFG; for(i=n;istrlen(str2)-1;i-) str1i+strlen(str2)=str1i;/比待插入的字符串长的部分均向后移strlen(str2)位; for(i=strlen(str2)-1;i0;i-) str1i+i=str1i;/之前的部分均向后移i位; for(i=1

14、,j=0;i2*strlen(str2);i+=2,j+) str1i=str2j;/将待插入的字符串插入空格处,完成插入; strcpy(str3,str1);/将str2中的字符串插入到str1中,存放到str3中;void STRING:print()/输出插入后的字符串 cout插入后的字符串为:str3endl;void main() STRING test(abcde,ABCDEFG); test.process(); test.print();四、实践小结发现字符插入的规律,再依次放入相应字符位置。五、运行结果任务十三一、实践任务13建立一个类MOVE,对数组中元素进行循环换位,

15、即每个元素后移三位,最后三个元素移到最前面。二、详细设计1、类的描述与定义(1)私有数据成员 int array20:一维整型数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(int b,int m):构造函数,初始化成员数据。 void change():进行循环换位。 void print():输出一维数组。2、主要函数设计在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。三、源程序清单#includeclass MOVEprivate: int array20;/一维整型数组; int n; /数组中的元素个数;public: M

16、OVE(int b,int m) for(int i=0;im;i+) arrayi=bi; n=m; void change(); void print();void MOVE:change()/进行循环换位,即每个元素后移3位,最后3个元素移到最前面; int tem3;/建立临时数组,用于存放最后3个元素; int i=0; while(i3) tem2-i=arrayn-1-i;/将最后3个元素依次放入临时数组中; i+; for(i=0;in-3;i+)/将原数组的最后一个至第4个元素依次后移3位; arrayn-1-i=arrayn-1-3-i; for(i=0;i3;i+)/将临

17、时数组中存放的最后3个元素依次放入后移后的原数组中,完成循环换位; arrayi=temi; void MOVE:print()/输出一维数组; for(int i=0;in;i+) coutarrayit; coutendl;void main() int s=21,65,43,87,12,84,44,97,32,55; int n=sizeof(s)/sizeof(int); MOVE test(s,n); test.print(); test.change(); test.print();四、实践小结利用临时数组先保存后3位,再依次把数放入对应位。五、运行结果任务十四一、实践任务14建立

18、一个类MOVE,实现将数组中大字字母元素放在小写字母元素的左边。二、详细设计1、类的描述与定义(1)私有数据成员 char *array:一维字符数组。 int n:数组中元素的个数。(2)公有成员函数 MOVE(char b,int m):构造函数,初始化成员数据。 void change():进行排序换位。 void print():输出一维数组。 MOVE():析构函数。2、主要函数设计在主程序中用数据fdsUFfsTjfsKFEkWC对该类进行测试。三、源程序清单#include #includeclass MOVE char *array; int n; public: MOVE(c

19、har b,int m) n=m; array=new charn+1; strcpy(array,b); void change() char*p1=new charstrlen(array)+1;/用于存大写; char*p2=new charstrlen(array)+1;/存小写; int i,j=0,k=0; for(i=0;i=A&arrayi=Z) p1j=arrayi; j+; else p2k=arrayi;k+; p1j=p2k=0; strcat(p1,p2);/存放大写组与小写组拼接; strcpy(array,p1);/拷贝至array; delete p1; del

20、ete p2; void print() coutarrayendl; MOVE() if (array) delete array; ; void main() char b=fdsUFfsTjfsKFEkWC; int n; n=(sizeof(b)-1)/sizeof(char); MOVE test(b,n); test.change(); test.print(); 四、实践小结利用临时数组,分别保存大写与小写字母,再实现功能。五、运行结果任务十五一、实践任务16定义一个方阵类CMatrix,并根据给定算法实现方阵的线性变换。方阵的变换形式为:F=W*fTf为原始矩阵,fT为原始矩阵

21、的转置,w为变换矩阵,这里设定为1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 二、详细设计1、类的描述与定义(1)私有数据成员 int (*a)4:a指向方阵数组。 int w44:w为变换矩阵。 int m:m表示方阵的行和列数。(2)公有成员函数 CMatrix (int a4,int m) :用给定的参数a和m 初始化数据成员a和m;对变换矩阵w进行初始化,要求必须用循环实现。 void Transform () :根据上述变换算法,求出变换后的数组形式,存放在原始数组内。 void show( ) :在屏幕上显示数组元素。 CMatrix () :释放动态分配的空间。

22、2、主要函数设计在主程序中定义数组int arr4=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16作为原始数组。定义一个CMatrix类对象test,用arr初始化test,完成对该类的测试。三、源程序清单#includeclass CMatrixprivate: int(*a)4; int w44;/变换矩阵 int m;/表示方阵的行和列数;public: CMatrix(int a4,int m) int i,j; this-a=new intm4; this-m=m; for(i=0;i4;i+) for(j=0;j4;j+) if(i=j|i+j=4-1

23、) wij=1; else wij=0; for(i=0;im;i+) for(j=0;jaij=aij; void Transform(); void show(); CMatrix() if(a) delete a;void CMatrix:Transform()/根据变换算法,求出变换后的数组形式,存放在原始数组内; int i,j,k; for(i=0;im;i+)/求原始矩阵的转置,并存放在原始数组中; for(j=i;j4;j+) k=aij,aij=aji,aji=k; int sum;/用来存放矩阵乘法中,行列中元素依次相乘的累加和; int turn44;/临时数组,用来存放

24、矩阵乘法所求得的值; for(i=0;i4;i+)/实现矩阵的乘法; for(j=0;j4;j+) sum=0; for(k=0;k4;k+) sum+=wik*akj; turnij=sum; for(i=0;i4;i+)/将临时数组的值存放入原始数组中; for(j=0;j4;j+) aij=turnij; void CMatrix:show()/在屏幕上显示数组元素; for(int i=0;im;i+) for(int j=0;j4;j+) coutaijt; coutendl; void main() int arr4=1,2,3,4,5,6,7,8,9,10,11,12,13,14

25、,15,16; CMatrix test(arr,4); cout原矩阵为:endl; test.show(); test.Transform(); cout经线性变换后的矩阵为:endl; test.show();四、实践小结应熟练掌握矩阵的乘法方式。五、运行结果任务十六一、实践任务17定义一个类SIN,求二、详细设计1、类的描述与定义(1)私有数据成员 float x:输入公式中x的值,求sin(x)。 int n:输入公式中n的值。(2)公有成员函数 SIN(float x, int n ):构造函数,用于初始化x和n的值。 int power( int q):求q!的值。 float mi(float

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

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