计算机程序设计实践答案江苏科技大学.docx
- 文档编号:30064450
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:32
- 大小:18.86KB
计算机程序设计实践答案江苏科技大学.docx
《计算机程序设计实践答案江苏科技大学.docx》由会员分享,可在线阅读,更多相关《计算机程序设计实践答案江苏科技大学.docx(32页珍藏版)》请在冰豆网上搜索。
计算机程序设计实践答案江苏科技大学
1,#include
classPP
{
intn;
doublex;
double*p;
public:
PP(intnum,doublex1);
~PP();
doublefun(intn1,doublex);
voidprocess();
voidshow();
};
PP:
:
PP(intnum,doublex1)
{
n=num;
x=x1;
p=newdouble[n+1];
}
PP:
:
~PP()
{
if(p)delete[]p;
}
doublePP:
:
fun(intn,doublex)
{
if(n==0)return1;
elseif(n==1)returnx;
elsereturn((2*n-1)*x*fun(n-1,x)-(n-1)*fun(n-2,x))/n;
}
voidPP:
:
process()
{
inti;
for(i=0;i<=n;i++)
p[i]=fun(i,x);
}
voidPP:
:
show()
{
intcount=0;
cout<<"n="< for(inti=0;i { cout< count+=1; if(count%4==0)cout<<'\n'; } } voidmain() { intnum; doublex1; cout<<"num="; cin>>num; cout<<"x1="; cin>>x1; PPitems(num,x1); items.process(); items.show(); } 2.#include classsp { private: intn,k; public: sp(intn1,intk1); intpowers(intm,intn); intfun(intm,intn); voidshow(); }; sp: : sp(intn1,intk1) { n=n1; k=k1; } intsp: : powers(intm,intn){ inti,p=1; for(i=1;i<=n;i++) p*=m; returnp; } intsp: : fun(intn,intk) { ints=0; for(inti=1;i<=n;i++) s+=powers(i,k); returns; } voidsp: : show() { cout< } voidmain() { intx,y; cin>>x>>y; sps(x,y); s.show(); } 3.#include classmove { private floatarray[20]; intn; public: move(floatb[],intm) { for(inti=0;i array[i]=b[i]; n=m; } voidaverage() { floatsum=0,ave; for(inti=0;i sum+=array[i]; ave=sum/20; floatArray[20],*p1=Array,*p2=Array; for(i=1;i for(i=0;i { if(array[i]<=ave)*(p1++)=array[i]; else*(p2--)=array[i]; } for(i=0;i array[i]=Array[i]; } voidprint() { cout<<"执行后的数据为: "< for(inti=0;i cout<<'\t'< cout< } }; voidmain() { floatb[9]={1.3,6.2,3,9.1,4.8,7.4,5.6,9.2,2.3}; cout<<"原数据为: "< for(inti=0;i<9;i++) cout<<'\t'< cout< moves(b,9); s.average(); s.print(); } 4.#include classMOVE { int*array; intn; public: MOVE(intb[],intm) { n=m; array=newint[n]; for(inti=0;i { array[i]=b[i]; } } voidexchange() { floatx=0; intmax=0,m=0,min=0; for(inti=0;i { x+=array[i]; if(array[i]>array[max]) { max=i; } if(array[i] { min=i; } } x/=n; cout<<"平均数为: "< x=array[min]; array[min]=array[max]; array[max]=x; } voidprint() { for(inti=0;i { cout< } } ~MOVE() { deletearray; } }; voidmain() { ints[10]={21,65,43,87,12,84,44,97,32,55}; MOVEa(s,10); a.exchange(); a.print(); } 5.#include #include classpalindrome { intn; inty; public: palindrome(intx); voidhuiwen(); voidshow(); }; palindrome: : palindrome(intx) { n=x; y=0; } voidpalindrome: : huiwen() { inta[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 if(a[i]==a[count])y=1; else{y=0;break;} if(y==1) { inti=0,j=0; while(s) { b[i]=s%2; s=s/2; i++; j++; } for(i=0;i if(b[i]==b[j]){y=1;j--;} else{y=0;break;} } if(y==1) cout<<"是绝对回文字符串"< if(y==0) cout<<"不是绝对回文字符串"< } voidpalindrome: : show() { cout< } voidmain(void) { inta; cout<<"请输入a="; cin>>a; palindromep(a); p.show(); p.huiwen(); } 6.#include #include classString { char*str; inty; public: String(char*s) { if(s) { str=(char*)newchar[strlen(s)+1]; strcpy(str,s); } elsestr=0; y=0; } voidhuiwen(); voidshow(); }; voidString: : huiwen() { char*t1,*t2; t1=t2=str; while(*t2)t2++; t2--; while(t1 { if(*t1++! =*t2--)y=1; } } voidString: : show() { cout< if(y)cout<<"不是回文字符串"< elsecout<<"是回文字符串"< } voidmain() { chars[]="ababcedbaba"; Stringtext(s); text.huiwen(); text.show(); } 7.#include classphalanx { int(*p)[20]; intstartnum; intn; public: phalanx(ints[20][20],intm) { startnum=1; p=s; n=m; } voidprocess() { p[0][0]=startnum; for(inti=0;i for(intj=0;j {if(i>j){p[i][j]=1+i*i+i+i-j;} else{p[i][j]=1+j*j+i;}} } voidprint() { for(inti=0;i { for(intj=0;j cout<<'\n'; } } ~phalanx(){} }; voidmain() { intm; ints[20][20]; cout<<"请输入折叠层数: "; cin>>m; cout<<'\n'; phalanxpp(s,m); pp.process(); pp.print(); } 9.#include #include classCString { char*str; intsize; intmaxsize; public: CString(){str=NULL;size=0;maxsize=0;} voidCount(CString&s); friendostream&operator<<(ostream&ostr,constCString&s); friendistream&operator>>(istream&istr,CString&s); }; voidCString: : Count(CString&s) { inti,k; for(i=0;i { intm=1; for(k=i+1;k { if(s.str[i]==s.str[k]) { for(intn=k;n { s.str[n]=s.str[n+1]; } s.size--; s.maxsize--; m++; } } cout< "< } } ostream&operator<<(ostream&ostr,constCString&s) { cout<<"s.size="< cout<<"s.str="< returnostr; } istream&operator>>(istream&istr,CString&s) { delete[]s.str; cout<<"输入字符串的元素个数: "; cin>>s.size; s.maxsize=s.size+1; s.str=newchar[s.maxsize]; cout<<"输入字符串: "; for(inti=0;i cin>>s.str[i]; s.str[s.size]=NULL; returnistr; } voidmain() { CStrings; cin>>s; cout< s.Count(s); } 11 13#include classMOVE { intarray[20]; intn; public: MOVE(intb[],intm) { n=m; for(inti=0;i { array[i]=b[i]; } } voidchange() { for(intj=0;j<3;j++) { inta=array[n-1]; for(inti=n-1;i>0;i--) { array[i]=array[i-1]; } array[0]=a; } } voidprint() { for(inti=0;i cout< } }; voidmain() { ints[10]={21,65,43,87,12,84,44,97,32,55}; MOVEtest(s,10); test.change(); test.print(); } 14.#include #include classmove { char*array; intn; public: move(charb[],intm) { n=m; array=newchar[strlen(b)+1]; strcpy(array,b); } voidchange(); voidprint(); ~move(){delete[]array;} }; voidmove: : change() { charAa[20];intj=0,k=n; for(inti=0;i if(array[i]>='A'&&array[i]<='Z') { Aa[j]=array[i]; j++; } else { Aa[k-1]=array[i]; k--; } for(i=0;i array[i]=Aa[i]; array[n]=0; } voidmove: : print() { for(inti=0;i cout< cout< } voidmain() { charb[]={"fdsUFfsTjfsKFEkWC"}; movetest(b,17); test.change(); test.print(); } 15.#include #include classCarray { int*a; intn; intb; public: Carray(intm[],intn1,intx) {a=m; for(inti=0;i n=n1; b=x; } voidTransform() { inti; intx; intT[10]; for(i=0;i {x=*a++; T[i]=(b*x+i);} a=T; } voidshow() { for(inti=0;i<10;i++) cout<<*a<<'\t'; cout< } ~Carray() { deletea; } }; voidmain() { intarr[]={1,2,3,4,5,6,7,8,9,10}; intb; inti=10; //i=strlen(arr); cout<<"请输入b="; cin>>b; Carraytest(arr,i,b); test.Transform(); test.show(); } 17.#include #include classSIN { private: intx; intn; public: SIN(inta,intb){x=a;n=b;} intpower(intq) { intc; if(q==1||q==0)c=1; elsec=q*power(q-1); returnc; } intmi(intm,intn) { intp=1; for(inti=0;i p=p*m; returnp; } doublefun() { doublesum,s; s=1;sum=0; for(intj=1;j<=n;j++) { s=s*mi(x,2*j-1)/power(2*j-1); sum+=s; s=-1; } cout< returnsum; } voidshow() { cout<<"结果为"< } }; voidmain() { SINtest(1,2); test.fun(); test.show(); } 18.#include classVAR {private: doublea[100]; intn; public: VAR(doublex[],intn1) {n=n1; for(inti=0;i a[i]=x[i]; } doubleaverage(doublex[],intn) {doublexp,s=0; for(inti=0;i {s=s+a[i];} xp=s/n; returnxp; } doublevariance(doublex[],intn) {doubleb=0.00,d; for(inti=0;i {b=b+(x[i]-average(a,n))*(x[i]-average(a,n));} d=b/n; returnd; } voidshow(doublex[],intn) {cout<<"标准差是: "< }; voidmain() {doublee[100]={1,2,3,4,5}; VARc(e,5); c.show(e,5); } 19.#include classArray { inta[4][4]; public: Array(inta1[][4],intn) { for(inti=0;i for(intj=0;j<4;j++) a[i][j]=a1[i][j]; } voidxuanzhuan(); voidshow(); }; voidArray: : xuanzhuan() { inta2[4][4]; for(inti=0;i<4;i++) for(intj=0;j<4;j++) a2[j][3-i]=a[i][j]; for(intk=0;k<4;k++) for(inth=0;h<4;h++) a[k][h]=a2[k][h]; } voidArray: : show() { for(inti=0;i<4;i++) { for(intj=0;j<4;j++) { if(a[i][j]<10) cout<<""< else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 程序设计 实践 答案 江苏 科技大学