1、 pp(); double fun(int n1,double x); void process(); void show();pp:pp(int num,double x1) n=num; x=x1; p=new doublenum+1;pp() delete p;double pp:fun(int n1,double x) if(n1=0)return 1; if(n1=1)return x; if(n11)return (2*n1-1)*x*fun(n1-1,x)-(n1-1)*fun(n1-2,x)/n1;void pp:process() int i; for(i=0;i=n;i+)
2、 *(p+i)=fun(i,x); show() coutn=ntx=xendl; for(int i=0,m=1;n;i+,m+) cout*(p+i); if(m%4=0)coutnumx1; pp items(num,x1); items.process(); items.show();运行结果2试建立一个类SP,求 ,另有辅助函数power(m,n)用于求 。具体要求如下:(1)私有成员数据。l int n,k:存放公式中n和k的值;(2)公有成员函数。l SP(int n1,int k1):构造函数,初始化成员数据n和k。l int power(int m, int n):求mn。l
3、 int fun( ):求公式的累加和。输出求得的结果。(3)在主程序中定义对象s,对该类进行测试。class SP int n,k; SP(int n1,int k1); int power(int m,int n); int fun();SP:SP(int n1,int k1) n=n1; k=k1;int SP:power(int m,int n) if(n=0)return 1; else for(i=1; m*=m; return m;fun() int y=0,x; for(x=1;x+) y+=power(x,k); return y;void SP:前n项的和为:fun()k1
4、; SP s(n1,k1); s.fun(); s.show();运行结果:3建立一个类MOVE,不进行排序,将数组中小于平均值的元素放到数组的左边,大于平均值的元素放到数组的右边。l float array20:一维整型数组。数组中元素的个数。l MOVE(float b,int m):构造函数,初始化成员数据。l void average():输出平均值,并将数组中的元素按要求重新放置。l void print():输出一维数组。(3)在主程序中用数据1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3对该类进行测试。class MOVE float array20; MOV
5、E(float b,int m); void average(); void print();MOVE:MOVE(float b,int m) n=m;m; arrayi=bi;void MOVE:average() int i,x; float a=0; a+=arrayi; a/=n;平均值为a float ff20; for(i=0,x=0; if(arrayi ffx=arrayi; x+; for(i=0; arrayi=ffi;print() int q,p=1; for(q=0;qq+) coutarrayq if(p%5=0)cout*p2)p2=& i=*p1; *p1=*p
6、2; *p2=i; int i,num=1;arrayi if(num%5=0)cout0;m/=10) bi=m%10; i+;p; if(bi!=bp-i-1) t1=0; break; for(i=0,m=n,p=0;m/=2) ci=m%2; if(ci!=cp-i-1) t2=0; if(t1&t2)y=1; if(y=0)cout该数不是回文数! else coutclass string char *str; string(char *s);string:string(char *s) str=new charstrlen(s); strcpy(str,s);void strin
7、g: char *p1,*p2; p2=p1=str; for(int i=0;stri;i+,p2+); p2-; for(;p1!=p2;p1+,p2-) if(*p1!=*p2) y=0;break; y=1;”字符串为:”str字符串不是回文数!yclass phalanx int(*p)20; int starnum; phalanx(int s,int m); phalanx();phalanx:phalanx(int s,int m) starnum=s;void phalanx: int num=starnum; int y=n,i,j,x; p=new int2020; fo
8、r(x=0;y; for(i=0,j=x;x; pij=num; num+; for(;j=0;j-) int i,j,m=0; for(j=0;jj+)setw(5) phalanx pp(s,m); pp.process(); pp.print();8建立一个MATRIX,生成并显示一个螺旋方阵。螺旋方阵如下图所示,起始数置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。l int a20 20:二维整型数组存放螺旋方阵。螺旋方阵的起始数。l MATRIX (int s, int m ):构造函数,初始化成员数据startnum和n。生成起始数为startnum
9、的n行螺旋方阵。输出螺旋方阵。(3)在主程序中定义MATRIX类的对象t对该类进行测试。class matrix int a2020; matrix(int s,int m);matrix:matrix(int s,int m)void matrix: int st=starnum; int i,j,x=0,y=n;=(y-1)/2; for(i=x,j=x;(y-x-1); aij=st; st+;ii-) if(x=(y-1)/2)aij=st; int i,j;setw(8)aij; matrix pp(s,m);9定义一个字符串类CString,并设计一个算法对该串中各个不同字符出现的
10、频率进行统计。l char *str:指向要统计的字符串。l char (*p)2:动态分配二维空间,用以存放str所指字符串中出现的字符及其出现的次数(次数在存放时,用该数字对应的ASCII值存放;在输出次数时,输出该ASCII字符对应的ASCII值即可)。l int size:存放字符串中出现的所有不同的字符的个数。l CString (char *s) :根据s参数初始化数据成员str;p和size初始值为0。l void Count():p根据s所指字符串长度分配空间。然后把str所指字符串中的每个字符放入p数组中,设置每个字符的出现次数为1。根据p数组统计不同字符出现的频率,并求得s
11、ize的实际大小。最后根据size的实际大小,重新分配p所指空间,并把不同字符及其出现次数重新放回p数组(提示:可以借助临时数组或指针来实现)。l void Show():屏幕显示字符串、字符串的每个字符和与之对应的次数。l CString():释放动态分配的空间。(3)在主程序中定义字符串char s=”abdabcdesffffd”。定义一个CString类对象test,用s以初始化test,完成对该类的测试。class cstring char*str; char (*p)2; int size; cstring(char *s); void count(); cstring();cstring:cstring(char*s) p=0; size=0; str=s;void cstring:count() p=new charstrlen(str)2; char n; n=0 p1=& for(int m=0;strm;m+) p2=& if(*p1=*p2)n+; p2+; pi0=stri; pi1=n;strlen(str);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1