C++课程实践报告试题及答案.docx

上传人(卖家):吉庆会 文档编号:5850892 上传时间:2023-05-12 格式:DOCX 页数:7 大小:13.73KB
下载 相关 举报
C++课程实践报告试题及答案.docx_第1页
第1页 / 共7页
C++课程实践报告试题及答案.docx_第2页
第2页 / 共7页
C++课程实践报告试题及答案.docx_第3页
第3页 / 共7页
C++课程实践报告试题及答案.docx_第4页
第4页 / 共7页
C++课程实践报告试题及答案.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、C+课程实践报告试题及答案任务一一、实践任务1试建立一个类PP,求出下列多项式的前n项的值。-=-nxPnxxPnxxPnn/)()1()()12(1)(2n1110=nnn二、详细设计1、类的描述与定义(1)私有数据成员lintn:前若干项的项数。ldoublex:存放x的值。ldouble*p:根据n的大小动态申请存放Pn(x)前n项的数组空间。(2)公有成员函数lPP(intnum,doublex1):构造函数,初始化数据成员n和x,使p指向动态申请的数组空间。lPP():析构函数,释放p指向的动态内存空间。ldoublefun(intn1,doublex):递归函数,用于求多项式)(x

2、Pn的第n1项。注意:将递归公式中的n用作函数参数。本函数供process函数调用。lvoidprocess():完成求前n项的工作,并将它们存放到p指向的动态数组中。lvoidshow():输出n和x,并将前n项以每行4个数的形式输出到屏幕上。2、主要函数设计在主函数中完成对该类的测试。先输入num和x1,并定义一个PP类的对象items,用num和x1初始化items的成员n和x,调用items的成员函数,求出并输出多项式前num项的值。三、源程序清单#includeclassPPprivate:intn;doublex;double*p;public:PP(intnum,doublex1

3、)n=num;x=x1;p=newdoublen;PP()if(p)deletep;doublefun(intn1,doublex);voidprocess();voidshow();doublePP:fun(intn1,doublex)if(n1=0)return1;elseif(n1=1)returnx;elseif(n11)return(2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1;voidPP:process()for(inti=0;inumx1;PPitems(num,x1);items.process();items.show();任务二一

4、、实践任务2试建立一个类SP,求kkkknknf+=.321),(,另有辅助函数power(m,n)用于求nm。二、详细设计1、类的描述与定义(1)私有数据成员lintn,k:存放公式中n和k的值;(2)公有成员函数lSP(intn1,intk1):构造函数,初始化成员数据n和k。lintpower(intm,intn):求mn。lintfun():求公式的累加和。lvoidshow():输出求得的结果。2、主要函数设计在主程序中定义对象s,对该类进行测试。三、源程序清单#includeclassSPprivate:intn,k;public:SP(intn1,intk1)n=n1;k=k1;

5、intpower(intm,intn);intfun();voidshow();intSP:power(intm,intn)ints=1;for(inti=0;in1k1;SPs(n1,k1);s.fun();s.show();任务三一、实践任务3建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、详细设计1、类的描述与定义(1)私有数据成员lfloatarray20:一维整型数组。lintn:数组中元素的个数。(2)公有成员函数lMOVE(floatb,intm):构造函数,初始化成员数据。lvoidaverage():输出平均值,并将

6、数组中的元素按要求重新放置。lvoidprint():输出一维数组。2、主要函数设计在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3对该类进行测试。三、源程序清单#includeclassMOVEprivate:floatarray20;intn;public:MOVE(floatb,intm)for(inti=0;iave)turnn-1-j=arrayi;j+;for(i=0;iclassMOVEprivate:int*array;intn;public:MOVE(intb,intm)array=newintm;n=m;for(inti=0;i=max)m

7、=i,max=arrayi;intl;for(i=0,l=0;iclassPalindromeprivate:intn;inty;public:Palindrome(intx)n=x;y=0;voidhuiwen();voidshow();voidPalindrome:huiwen()inti=0,j=0;intm;m=n;while(m)m/=10;i+;m=n;while(m)m/=2;j+;int*s10=newinti;int*s2=newintj;m=n;for(intk=0;ka;Palindromep(a);p.huiwen();p.show();任务六一、实践任务6定义一个字符

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

9、,完成对该类的测试。三、源程序清单#include#includeclassStringprivate:char*str;inty;public:String(char*s)intn=strlen(s);str=newcharn+1;strcpy(str,s);y=0;voidhuiwen();voidshow();String()if(str)deletestr;voidString:huiwen()intn,judge=0;n=strlen(str);for(inti=0;iclassphalanxint(*p)20;intstartnum;intn;public:phalanx(ints2020,intm)startnum=1;p=s;n=m;voidprocess()p00=startnum;for(inti=0;ij)pij=1+i*i+i+i-j;elsepij=1+j*j+i;voidprint()for(inti=0;im;cout

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(C++课程实践报告试题及答案.docx)为本站会员(吉庆会)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|