1,#include <iostream.h>class PP{int n;double x;double *p;public:PP(int num,double x1);~PP();double fun(int n1,double x);void process();void show();};PP::PP(int num,double x1){n=num;x=x1;p=new double[n+1];}PP::~PP(){if(p) delete[]p;}double PP::fun(int n,double x){if(n==0) return 1;else if(n==1) return x;else return ((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n; }void PP::process(){int i;for(i=0;i<=n;i++)p[i]=fun(i,x);}void PP::show(){int count=0;cout<<"n="<<n<<'\t'<<"x="<<x<<endl;for(int i=0;i<n;i++){cout<<p[i]<<'\t';count+=1;if(count%4==0) cout<<'\n';}}void main(){int num;double x1;cout<<"num=";cin>>num;cout<<"x1=";cin>>x1;PP items(num,x1);items.process();items.show();}2. #include<iostream.h>class sp{private:int n,k;public:sp(int n1,int k1);int powers(int m,int n);int fun(int m,int n);void show();};sp::sp(int n1,int k1){k=k1;}int sp::powers(int m,int n){int i,p=1;for(i=1;i<=n;i++)p*=m;return p;}int sp::fun(int n,int k){int s=0;for(int i=1;i<=n;i++)s+=powers(i,k);return s;}void sp::show(){cout<<fun(n,k)<<endl;}void main(){cin>>x>>y;sp s(x,y);s.show();}3. #include<iostream.h>class move{privatefloat array[20];int n;public:move(float b[],int m){for(int i=0;i<m;i++)array[i]=b[i];n=m;}void average(){float sum=0,ave;for(int i=0;i<n;i++)sum+=array[i];ave=sum/20;float Array[20],*p1=Array,*p2=Array;for(i=1;i<n;i++) p2++;for(i=0;i<n;i++){if(array[i]<=ave) *(p1++)=array[i];else *(p2--)=array[i];}for(i=0;i<n;i++)array[i]=Array[i];}void print(){cout<<"执行后的数据为:"<<endl;for(int i=0;i<n;i++)cout<<'\t'<<array[i];cout<<endl;}};void main(){float b[9]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3};cout<<"原数据为:"<<endl;for(int i=0;i<9;i++)cout<<'\t'<<b[i];cout<<endl;move s(b,9);s.average();s.print();}4. #include<iostream.h>class MOVE{int *array;int n;public:MOVE(int b[],int m){n=m;array=new int[n];for (int i=0;i<n;i++){array[i]=b[i];}}void exchange(){float x=0;int max=0,m=0,min=0;for(int i=0;i<n;i++){x+=array[i];if(array[i]>array[max]){max=i;}if(array[i]<array[min]){min=i;}}x/=n;cout<<"平均数为:"<<x<<endl;x=array[min];array[min]=array[max];array[max]=x;}void print(){for(int i=0;i<n;i++){cout<<array[i]<<'\t';}}~MOVE(){delete array;}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55};MOVE a(s,10);a.exchange();a.print();}5. #include <iostream.h>#include <string.h>class palindrome{int n;int y;public:palindrome (int x);void huiwen();void show();};palindrome:: palindrome(int x){n=x;y=0;}void palindrome::huiwen(){int a[20],b[50],k=n,s=n,i=0,count=0;while(k){a[i]=k%10;k=k/10;i++;count++;}for( i=0;i<count;i++,count--)if(a[i]==a[count]) y=1;else {y=0;break;}if(y==1){int i=0,j=0;while(s){b[i]=s%2;s=s/2;i++;j++;for( i=0;i<j;i++)if(b[i]==b[j]) { y=1;j--;}else {y=0;break;}}if(y==1)cout<<"是绝对回文字符串"<<endl;if(y==0)cout<<"不是绝对回文字符串"<<endl; }void palindrome::show(){cout<<n;}void main(void){int a;cout<<"请输入a=";cin>>a;palindrome p(a);p.show();p.huiwen();}6. #include <iostream.h>#include <string.h>class String{char *str;int y;public:String(char*s){if(s){str=(char*)new char[strlen(s)+1];strcpy(str,s);}else str=0;}void huiwen();void show();};void String::huiwen(){char *t1,*t2;t1=t2=str;while(*t2) t2++;t2--;while (t1<t2){if(*t1++!=*t2--) y=1;}}void String::show(){cout<<str<<endl;if(y) cout<<"不是回文字符串"<<endl;else cout<<"是回文字符串"<<endl; }void main(){char s[]="ababcedbaba";String text(s);text.huiwen();text.show();}7. #include<iostream.h>class phalanx{int (*p)[20];int startnum;int n;public:phalanx(int s[20][20],int m){startnum=1;p=s;n=m;}void process(){p[0][0]=startnum;for(int i=0;i<n;i++)for(int j=0;j<n;j++){if(i>j){p[i][j]=1+i*i+i+i-j;}else{p[i][j]=1+j*j+i;}}}void print(){for(int i=0;i<n;i++){for(int j=0;j<n;j++) cout<<'\t'<<p[i][j];cout<<'\n';}}~ phalanx() { }};void main(){int m;int s[20][20];cout<<"请输入折叠层数:";cin>>m;cout<<'\n';phalanx pp(s,m);pp.process();pp.print();}9. #include<iostream.h>#include<string.h>class CString{char *str;int size;int maxsize;public:CString(){str=NULL;size=0;maxsize=0;}void Count(CString & s);friend ostream& operator<<(ostream &ostr,const CString & s);friend istream& operator>>(istream &istr,CString & s);};void CString::Count(CString &s){int i,k;for(i=0;i<s.size;i++){int m=1;for(k=i+1;k<s.size;k++){if(s.str[i]==s.str[k]){for(int n=k;n<s.size;n++){s.str[n]=s.str[n+1];}s.size--;s.maxsize--;m++;}}cout<<s.str[i]<<"的个数:"<<m<<endl;}}ostream & operator<<(ostream &ostr,const CString &s) {cout<<"s.size="<<s.size<<endl;cout<<"s.str="<<s.str<<endl;return ostr;}istream& operator>>(istream &istr,CString &s){delete []s.str;cout<<"输入字符串的元素个数:";cin>>s.size;s.maxsize=s.size+1;s.str=new char[s.maxsize];cout<<"输入字符串:";for(int i=0;i<s.size;i++)cin>>s.str[i];s.str[s.size]=NULL;return istr;}void main(){CString s;cin>>s;cout<<s;s.Count(s);}1113#include <iostream.h>class MOVE{int array[20];int n;public:MOVE(int b[],int m){n=m;for(int i=0;i<n;i++){array[i]=b[i];}}void change(){for(int j=0;j<3;j++){int a=array[n-1];for(int i=n-1;i>0;i--){array[i]=array[i-1];}array[0]=a;}}void print(){for(int i=0;i<n;i++)cout<<array[i]<<'\t';}};void main(){int s[10]={21,65,43,87,12,84,44,97,32,55};MOVE test(s,10);test.change();test.print();}14. #include<iostream.h>#include<string.h>class move{char *array;int n;public:move(char b[],int m){n=m;array=new char[strlen(b)+1];strcpy(array,b);}void change();void print();~move(){delete[]array;}};void move::change(){char Aa[20];int j=0,k=n;for(int i=0;i<n;i++)if(array[i]>='A'&&array[i]<='Z'){Aa[j]=array[i];j++;}else{Aa[k-1]=array[i];k--;}for(i=0;i<n;i++)array[i]=Aa[i];array[n]=0;}void move::print(){for(int i=0;i<n;i++)cout<<array[i];cout<<endl;}void main(){char b[]={"fdsUFfsTjfsKFEkWC"};move test(b,17);test.change();test.print();}15. #include<iostream.h>#include<string.h>class Carray{int *a;int n;int b;public:Carray(int m[],int n1,int x){ a=m;for(int i=0;i<n1;i++)a[i]=m[i];n=n1;b=x;}void Transform(){int i;int x;int T[10];for(i=0;i<n;i++){ x=*a++;T[i]=(b*x+i);}a=T;}void show(){for(int i=0;i<10;i++)cout<<*a<<'\t';cout<<endl;}~Carray(){delete a;}};void main(){int arr[]={1,2,3,4,5,6,7,8,9,10};int b;int i=10;//i=strlen(arr);cout<<"请输入b=";cin>>b;Carray test(arr,i,b);test.Transform();test.show();}17. #include<iostream.h>#include<math.h>class SIN{private:int x;int n;public:SIN(int a,int b){x=a;n=b;}int power(int q){int c;if(q==1||q==0) c=1;else c=q*power(q-1);return c;}int mi(int m,int n){int p=1;for(int i=0;i<n;i++)p=p*m;return p;}double fun(){double sum,s;s=1;sum=0;for (int j=1;j<=n;j++){s=s*mi(x,2*j-1)/power(2*j-1);sum+=s;s=-1;}cout<<sum<<endl;return sum;}void show(){cout<<"结果为"<<fun()<<endl;}};void main(){SIN test(1,2);test.fun();test.show();}18. #include <iostream.h>class VAR{private:double a[100];int n;public:V AR(double x[],int n1){n=n1;for(int i=0;i<n;i++)a[i]=x[i];}double average(double x[],int n){double xp, s=0;for(int i=0;i<n;i++){s=s+a[i];}xp=s/n;return xp;}double variance(double x[],int n){double b=0.00,d;for(int i=0;i<n;i++){b=b+(x[i]-average(a,n))*(x[i]-average(a,n));}d=b/n;return d;}void show(double x[],int n){cout<<"标准差是:"<<variance(x,n)<<endl;}};void main(){double e[100]={1,2,3,4,5};V AR c(e,5);c.show(e,5);}19. #include<iostream.h>class Array{int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan();void show();};void Array::xuanzhuan(){int a2[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)a2[j][3-i]=a[i][j];for(int k=0;k<4;k++)for(int h=0;h<4;h++)a[k][h]=a2[k][h];}void Array::show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++){if(a[i][j]<10)cout<<" "<<a[i][j]<<" ";elsecout<<a[i][j]<<" ";}cout<<endl;}}void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};Array test(b,4);cout<<"原二维数组为:"<<endl;test.show();test.xuanzhuan();cout<<"旋转后的二维数组为:"<<endl;test.show();}20. #include <iostream.h>class Array{private:int a[4][4];public:Array(int a1[][4],int n){for(int i=0;i<n;i++)for(int j=0;j<4;j++)a[i][j]=a1[i][j];}void xuanzhuan(){int b[4][4];for(int i=0;i<4;i++)for(int j=0;j<4;j++)b[i][j]=a[i][j];for( i=0;i<4;i++)for(int j=0;j<4;j++)a[3-j][i]=b[i][j];}void show(){for(int i=0;i<4;i++){for(int j=0;j<4;j++)cout<<a[i][j]<<'\t';cout<<'\n';}}};void main(){int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};Array test(b,4);test.xuanzhuan();test.show();}23. #include <iostream.h>class Fract{private:int num,den;public:Fract(int a=0,int b=1){num=a;den=b;}int ged(int m,int n){int k,i,D;if(m<=n)k=m;else k=n;for( i=k;i>=1;i--)if(m%i==0&&n%i==0)break;D=m*n/i;return D;}Fract add(Fract f){Fract temp;int k,i;temp.den=ged(den,f.den);temp.num=temp.den/den*num+temp.den/f.den*f.num;if(temp.den<=temp.num)k=temp.den;else k=temp.num;for( i=k;i>=1;i--)if(temp.den%i==0&&temp.num%i==0){temp.den=temp.den/i;temp.num=temp.num/i;break;}return temp;}void show(){cout<<"两分数之和为"<<num<<"/"<<den<<endl;} };void main(){Fract f1(1,5),f2(7,20),f3;f3=f1.add(f2);f3.show();}27. #include<iostream.h>#include<math.h>class NUM{private:int data[10];int prime[10];int num;public:NUM(int n[]){num=0;for(int i=0;i<=10;i++){data[i]=n[i];prime[i]=0;}}int isprime(int m){for(int i=2;i<=sqrt(m)+1;i++){if(m%i==0){return 0;}}return 1;}void process(){int n=0;for(int i=0;i<=9;i++){if(isprime(data[i])){ prime[n]=data[i];++n;num=n;}}}void print(){cout<<num<<endl;for(int i=0;i<=9;i++){if (prime[i])cout<<prime[i]<<'\t';}cout<<endl;}};void main(){int x[10]={4,5,9,11,36,29,31,101,56,199}; NUM test(x);test.process();test.print();}。