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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VC课程实践正确答案1.docx

1、VC课程实践正确答案1江苏科技大学课程实践报告设计题目: 程序设计(VC+)实践 设计时间: 至 学 院: 专业班级: 学生姓名: 学号 指导老师: 1试建立一个类 PP,求出下列多项式的前 n项的值。具体要求如下:(1)私有数据成员intn:前若干项的项数。double x:存放x的值。double *p :根据n的大小动态申请存放 Pn(x)前n项的数组空间。(2)公有成员函数PP(int num,double x1):构造函数,初始化数据成员 n和x,使p指向动态申请的数组空间。PP ():析构函数,释放 p指向的动态内存空间。double fun(int n1,double x):递归

2、函数,用于求多项式 的第n1项。注意:将递归公式中 的n用作函数参数。本函数供 process函数调用。void process():完成求前n项的工作,并将它们存放到 p指向的动态数组中。void show():输出n和x,并将前n项以每行4个数的形式输出到屏幕上。(3) 在主函数中完成对该类的测试。先输入 num和x1,并定义一个 PP类的对象items, 用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前 num 项的值。程序源代码#i ncludeclass ppint n;double x; double *p;public:pp(i nt nu

3、 m,double x1);pp();double fun (i nt n 1,double x);void process();void show();pp:pp(i nt nu m,double x1)n=num;x=x1;p=new double nu m+1;pp:pp()delete p;double pp:f un (i nt n 1,double x)if(n 1=0)return 1;if(n 1=1)return x;if(n 11)return (2* n1-1)*x*fu n(n 1-1,x)-( n1-1)*fu n(n 1-2,x)/n1; void pp:proce

4、ss()int i;for(i=0;i=n ;i+)*(p+i)=fu n( i,x);void pp:show()coutvv n=n vtvvx=vxvve ndl;for(i nt i=0,m=1;i n ;i+,m+)coutv*(p+i)vvt; if(m%4=0)coutn;void mai n()int num;double x1;coutput in num and x1x1;pp items( nu m,x1);items.process();items.show();运行结果C:Use rsp z qD esfccto pD mb ugCppl. exeput innum

5、and xlDpbFl =6x=S15373053525Pressany kwy to continue2.试建立一个类 SP,求,另有辅助函数 power(m,n)用于求 具体要求如下:(1 )私有成员数据。intn , k:存放公式中n和k的值;(2 )公有成员函数。SP(int n 1,int k1):构造函数,初始化成员数据 n和k。int power(int m, int n):求 mn。int fun():求公式的累加和。void show():输出求得的结果。(3)在主程序中定义对象 s,对该类进行测试。程序源代码#i ncludeclass SPint n ,k;public:

6、SP(i nt n1,int k1);int power(i nt m,i nt n);int fun();void show();SP:SP(i nt n 1,i nt k1)n=n1;k=k1;int SP:power(i nt m,i nt n)int i;if(n=O)return 1;elsefor(i=1;i n ;i+) m*=m;return m;int SP:fu n()int y=0,x;for(x=1;x=n; x+) y+=power(x,k);return y;void SP:show()cout前 n 项的和为:fun()endl;void mai n()int n

7、1,k1;cout输入 n1 和 k1 的值k1;SP s( n1,k1);s.fu n();s.show();运行结果:3建立一个类 MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平 均值的元素放到数组的右边。具体要求如下:(1)私有数据成员float array20:维整型数组。intn:数组中元素的个数。(2)公有成员函数MOVE(float b,i nt m):构造函数,初始化成员数据。void average。:输出平均值,并将数组中的元素按要求重新放置。void print():输出一维数组。(3)在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.

8、6,9.2,2.3对该类进行测试。程序源代码#i ncludeclass MOVEfloat array20;int n;public:MOVE(float b,i nt m);void average();void prin t();MOVE:MOVE(float b,i nt m)int i;n=m;for(i=0;im;i+)arrayi=bi;void MOVE:average()int i,x;float a=0;for(i=0;i n;i+)a+=arrayi;a/=n;cout平均值为aendl;float ff20;for(i=0,x=0;i n;i+)if(arrayia)f

9、fx=arrayi; x+; for(i=0;i a)ffx=arrayi; x+;for(i=0;i n ;i+) arrayi=ffi;void MOVE:pri nt()int q,p=1; for(q=0;qn; q+)coutarrayqvvt;if(p%5=0)coutn;p+;void mai n()float b=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3; int m=9;MOVE aa(b,m);aa.average(); aa.pri nt();运行结果d,CUserspzqDeskQpDebugCppl.exEsags直为 5-4333341-3

10、3 4.63-329.17.4 5.62any Icej/ to cont inue4建立一个类 MOVE,将数组中最大元素的值与最小元素的值互换。具体要求如下:(1)私有数据成员int *array : 一维整型数组。intn:数组中元素的个数。(2)公有成员函数MOVE(i nt b,i nt m):构造函数,初始化成员数据。void exchange():输出平均值,并将数组中的元素按要求重新放置。void print():输出一维数组。 MOVE():析构函数。(3)在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。 程序源代码#i nclude

11、class MOVEint *array;int n;public:MOVE(i nt b,i nt m);void excha nge();void prin t();MOVE();MOVE:MOVE( int b,i nt m)n=m;array=new intn;for(i nt x=0;x n; x+) arrayx=bx;void MOVE:excha nge()float a=0;int i,*p1,*p2;for(i=0;i n;i+)a+=arrayi;a/=n;coutThe average of the nu mber is:ae ndl; p1=p2=&array0;fo

12、r(i=0;i*p2)p2=&arrayi;i=*p1;*p1=*p2;*p2=i;void MOVE:pri nt()int i,num=1;for(i=0;i n;i+)coutarrayivvt;if(n um%5=0)coutn;nu m+;MOVE:MOVE()delete array;void mai n()int b=21,65,43,87,12,84,44,97,32,55,n=10; MOVE ff(b, n);ff.excha nge();ff.pri nt();运行结果# * C: U s e rspzqDes kto p D e bu gC p pl. exe The

13、average of the numhEr is:5421 65 43 87 97 84 44 12 32 55 Press any kev to continue5定义一个类 Palindrome,实现绝对回文数。设计一个算法实现对任意整型数字判断是否 为绝对回文数。所谓绝对回文数,是指十进制数和二进制数均对称的数。具体要求如下:(1)私有数据成员int n :整型数字。int y :标记是否为回文数。(2)公有成员函数Palindrome (int x):构造函数,根据 x参数初始化数据成员 n,y初始化为0。void huiwen ():判断数n是否为绝对回文数。void show():

14、若该数为回文数,则在屏幕显示。(3)在主程序中定义int a,由键盘输入数字。定义一个 Palindrome类对象p,用a初始化p,完成对该类的测试。程序源代码#i ncludeclass pali ndromeint n;int y;public:pali ndrome(i nt x);void huiwe n();void show();pali ndrome:pali ndrome(i nt x)n=x;y=0;void pali ndrome:huiwe n()int b20,c50,m,i,p=0,t1=1,t2=1;m=n;for(i=0;m0;m/=10)p+;bi=m%10;i

15、+;for(i=0;i0;m/=2)P+;ci=m%2;i+; for(i=0;ip;i+)if(ci!=cp-i-1)t2=0; break;if(t1 &t2)y=1;void pali ndrome:show()if(y=0)cout该数不是回文数! e ndl; else cout该回文数是: ne ndl;void mai n()int a;cout输入 a 的值 a;pali ndrome p(a);p.huiwe n();p.show();运行结果: R C: Use rspzq Deskt o p De bu gC ppl.exe丨u回 A输入艮的值412345654321该数

16、不绝对是回文数!Press any key to continue6.定义一个字符串类 String ,实现判断该字符串是否为回文字符串。所谓回文字符串,是指该字符串左右对称。例如字符串“ 123321 ”是回文字符串。具体要求如下:(1)私有数据成员char *str;int y :标记是否为回文字符串。(2)公有成员函数String (char *s):构造函数,用给定的参数 s初始化数据成员str。y初始化为0。void huiwen ():判断str所指向的字符串是否为回文字符串。void show():在屏幕上显示字符串。(3)在主程序中定义字符串 char s= ” ababced

17、babd作为原始字符串。 定义一个 String类对象test,用s初始化test,完成对该类的测试。程序源代码#i nclude#i ncludevstri ng.h class stri ngchar *str; int y;public:stri ng(char *s);void huiwe n();void show();stri ng:stri ng(char *s) str=new charstrle n( s);strcpy(str,s);y=0; void stri ng:huiwe n()char *p1,*p2;p2=p1=str;for(i nt i=0;stri;i+,

18、p2+);p2-;for(;p1!=p2;p1+,p2-)if(*p1!=*p2)y=0;break;else y=1; void stri ng:show() cout v”字符串为:” vvstrvve ndl;if(y=0)cout字符串不是回文数! e ndl; else coutvvyvve ndl;void mai n()char s=ababcedbaba;stri ng test(s);test.huiwe n(); test.show();IZZI运行结果:rspzqDe 5 kto pD ebugCppl. exe为 iababcedbaba丨 1. L屛?串不是回文数!.

19、Press an if key to con 七:in me7.建立一个类 PHALANX,生成并显示一个折叠方阵。折叠方阵如下图所示。折叠方阵的 生成过程为:起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。具体要求如下:(1)私有数据成员int (*p)20:指向按照折叠规律存放方阵的二维整型数组。int start num :折叠方阵的起始数。int n :存放方针的层数。(2)公有成员函数PHALANX (i nt s, i nt m ):构造函数,初始化成员数据。void process():生成起始数为 start num的n行方阵。void print():输出折叠

20、方阵。 PHALANX():析构函数。(3 )在主程序中对该类进行测试。程序源代码#i nclude#i ncludevioma nip.hclass phala nxin t(*p)20;int star num;int n;public:phala nx(i nt s,i nt m);void process();void prin t();phala nx();phala nx:phala nx(i nt s,i nt m)star num=s;n=m;void phala nx:process()int num=star num;int y=n ,i,j,x;p=new in t202

21、0;for(x=0;xy;x+)for(i=0,j=x;i=0;j-)pij=num; nu m+;void phala nx:pri nt()int i,j,m=0;for(i=0;i n;i+)for(j=0;j n ;j+) coutsetw(5)pij;coutn;phala nx:phala nx()delete p;void mai n()int s,m;cout输入 s 和 m 的值 sm;phala nx pp(s,m);pp.process();pp.pri nt();运行结果CiXUsersXpzqXDesktopVDebugCppLexe输入直和m的值D1 61 2510

22、1726 :4 31118279 8712192816 151413202925 242322213036 3534333231Press an :key tocont inue&建立一个MATRIX,生成并显示一个螺旋方阵。螺旋方阵如下图所示,起始数置于方阵 的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。具体要求如下:(1)私有数据成员int a20 20:二维整型数组存放螺旋方阵。int start num :螺旋方阵的起始数。int n :存放方针的层数。(2)公有成员函数MATRIX (int s, i nt m ):构造函数,初始化成员数据 start num

23、和n。void process。:生成起始数为 start num的n行螺旋方阵。void print():输出螺旋方阵。(3)在主程序中定义 MATRIX类的对象t对该类进行测试。 程序源代码#i nclude#i ncludevioma nip.hclass matrixint a2020;int star num;int n;public:matrix(i nt s,i nt m);void process();void prin t();matrix:matrix(i nt s,i nt m)star num=s;n=m;void matrix:process() int st=sta

24、r num;int i,j,x=O,y=n;for(;x=(y-1)/2;x+)for(i=x,j=x;j(y-x-1);j+)aij=st; st+;for(;ix;j-)aij=st; st+;for(;ix;i-)aij=st; st+; if(x=(y-1)/2)aij=st;void matrix:pri nt()int i,j;for(i=0;i n;i+)for(j=0;j n ;j+) coutsetw(8)aij; coutn;void mai n()int s,m;cout输入 s 和 m 的值 sm;matrix pp(s,m); pp.process(); pp.pri

25、 nt();运行结果C:U sersp2qDe s kto pD ebu gC ppi. exeH4-dCk I删人直和m白勺值1 7123456724252627282982340414243309223948494431102138474&4532112637363534331219181716151413Pressan i/keytocontinue9.定义一个字符串类 CString ,并设计一个算法对该串中各个不同字符出现的频率进行统计。 具体要求如下:(1)私有数据成员char *str :指向要统计的字符串。char (*p)2:动态分配二维空间,用以存放 str所指字符串中出现的字符及其出现的次数(次数在存放时,用该数字对应的 ASCII值存放;在输出次数时,输出该 ASCII字符对应的ASCII值即可)。int

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

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