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

上传人:星*** 文档编号:179108926 上传时间:2021-04-07 格式:DOCX 页数:19 大小:21.20KB
返回 下载 相关 举报
C++课程实践报告试题及答案_第1页
第1页 / 共19页
C++课程实践报告试题及答案_第2页
第2页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++课程实践报告试题及答案》由会员分享,可在线阅读,更多相关《C++课程实践报告试题及答案(19页珍藏版)》请在金锄头文库上搜索。

1、C+课程实践报告试题及答案 任务一 一、实践任务 1试建立一个类 PP,求出下列多项式的前 n 项的值。- - -=-n x P n x xP nx x Pnn/ ) ( ) 1 ( ) ( ) 1 2 (1) (2 n 1 110=nnn 二、详细设计 1、类的描述与定义 (1)私有数据成员 l int n:前若干项的项数。l doublex:存放 x 的值。l double *p:根据 n 的大小动态申请存放 P n (x) 前 n 项的数组空间。(2)公有成员函数 l PP(int num,double x1):构造函数,初始化数据成员 n 和 x,使 p 指向动态申请的数组空间。l P

2、P():析构函数,释放 p 指向的动态内存空间。l double fun(int n1,double x):递归函数,用于求多项式 ) (x P n 的第 n1 项。注意:将递归公式中的 n 用作函数参数。本函数供 process 函数调用。l void process( ):完成求前 n 项的工作,并将它们存放到 p 指向的动态数组中。l void show( ):输出 n 和 x,并将前 n 项以每行 4 个数的形式输出到屏幕上。2、主要函数设计在主函数中完成对该类的测试。先输入 num 和 x1,并定义一个 PP 类的对象 items,用 num 和 x1 初始化 items 的成员 n

3、 和 x,调用 items 的成员函数,求出并输出多项式前 num 项的值。三、源程序清单 #include class PP private:int n;double x;double*p; public:PP(int num,double x1) n=num; x=x1;p=new doublen;PP() if(p) delete p;double fun(int n1,double x);void process();void show(); ; double PP:fun(int n1,double x) if(n1=0) return 1;else if(n1=1) return

4、x;else if(n11) return (2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1; void PP:process() for(int i=0;i pi=fun(i,x); void PP:show() coutfor(int i=0;i cout if(i+1)%4=0) cout void main() int num; double x1; cout cinnumx1; PP items(num,x1); items.process(); items.show(); 任务二一、实践任务 2试建立一个类 SP,求k k k kn k n

5、f + + + + = . 3 2 1 ) , ( ,另有辅助函数 power(m,n)用于求nm 。二、详细设计 1、类的描述与定义 (1)私有数据成员 l int n,k:存放公式中 n 和 k 的值; (2)公有成员函数 l SP(int n1,int k1):构造函数,初始化成员数据 n 和 k。l int power(int m, int n):求 m n 。l int fun( ):求公式的累加和。l void show( ):输出求得的结果。2、主要函数设计 在主程序中定义对象 s,对该类进行测试。 三、源程序清单 #include class SPprivate:int n,k

6、; public:SP(int n1,int k1)n=n1; k=k1;int power(int m,int n);int fun();void show(); ; int SP:power(int m,int n) int s=1;for(int i=0;is*=m;return s; int SP:fun() int s=0;for(int i=1;i s+=power(i,k);return s; void SP:show() coutint n1,k1;coutcinn1k1;SP s(n1,k1);s.fun();s.show(); 任务三一、实践任务 3建立一个类 MOVE,不

7、进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。二、详细设计 1、类的描述与定义 (1)私有数据成员 l float array20:一维整型数组。l int n:数组中元素的个数。(2)公有成员函数 l MOVE(float b,int m):构造函数,初始化成员数据。l void average():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。2、主要函数设计 在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3对该类进行测试。三、源程序清单 #include class MOVE

8、private:float array20;int n; public:MOVE(float b,int m) for(int i=0;i arrayi=bi; n=m;void average();void print();MOVE(); ; void MOVE:average() float ave=0;int i,j;for(i=0;i ave+=arrayi;ave/=n;coutfloat turn20;j=0;for(i=0;i if(arrayi turnj=arrayi;j+; j=0;for(i=0;iif(arrayiave) turnn-1-j=arrayi;j+; fo

9、r(i=0;i arrayi=turni; void MOVE:print() for(int i=0;icoutfloat b1=1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3;int num;num=sizeof(b1)/sizeof(float);MOVE s(b1,num);s.average();s.print(); 任务四一、实践任务 4建立一个类 MOVE,将数组中最大元素的值与最小元素的值互换。二、详细设计 1、类的描述与定义 (1)私有数据成员 l int *array:一维整型数组。l int n:数组中元素的个数。(2)公有成员函数 l MOVE(in

10、t b,int m):构造函数,初始化成员数据。l void exchange():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。l MOVE():析构函数。2、主要函数设计 在主程序中用数据21,65,43,87,12,84,44,97,32,55对该类进行测试。三、源程序清单 #include class MOVE private:int *array;int n; public:MOVE(int b,int m) array=new intm; n=m; for(int i=0;i arrayi=bi; void exchange();void

11、print();MOVE() if(array) delete array; ; void MOVE:exchange()float ave=0; for(int i=0;i ave+=arrayi;ave/=n;coutint max,min;max=min=array0;int m;for(i=0,m=0;i if(arrayi=max) m=i,max=arrayi;int l;for(i=0,l=0;i if(arrayii=arraym,arraym=arrayl,arrayl=i; void MOVE:print()for(int i=0;i coutint text=21,65,

12、43,87,12,84,44,97,32,55;int num;num=sizeof(text)/sizeof(int);MOVE s(text,num);s.print();couts.exchange();s.print(); 任务五 一、实践任务 定义一个类 Palindrome,实现绝对回文数。设计一个算法实现对任意整型数字判断是否为绝对回文数。所谓绝对回文数,是指十进制数和二进制数均对称的数。二、详细设计 1、类的描述与定义 (1)私有数据成员 l int n:整型数字。l int y:标记是否为回文数。(2)公有成员函数 l Palindrome (int x) :构造函数,根据

13、x 参数初始化数据成员 n,y 初始化为 0。l void huiwen () :判断数 n 是否为绝对回文数。l void show( ) :若该数为回文数,则在屏幕显示。2、主要函数设计在主程序中定义 int a,由键盘输入数字。定义一个 Palindrome 类对象 p,用 a 初始化 p,完成对该类的测试。三、源程序清单 #include class Palindrome private:int n;int y; public:Palindrome(int x)n=x; y=0;void huiwen();void show(); ; void Palindrome:huiwen() int i=0,j=0; int m; m=n;while(m) m/=10; i+;m=n; while(m) m/=2; j+;int*s10=new inti; int*s2=new intj; m=n; for(int k=0;k s10i-1-k=m%10; m/=10;m=n; for(k=0;k

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号