VC 课程实践正确答案(1)(3)

2019-08-31 22:51

? void show( ) :在屏幕上显示字符串。

(3)在主程序中定义字符串char s[]=”ababcedbaba”作为原始字符串。定义一个String类对象test,用s初始化test,完成对该类的测试。

程序源代码

#include #include class string{ char *str; int y; public: string(char *s); void huiwen(); void show(); };

string::string(char *s) { str=new char[strlen(s)]; strcpy(str,s); y=0; }

void string::huiwen() { char *p1,*p2; p2=p1=str; for(int i=0;str[i];i++,p2++); p2--; for(;p1!=p2;p1++,p2--) { if(*p1!=*p2) {y=0;break;} else y=1; } }

void string::show() {

cout<<”字符串为:”<

void main() { char s[]=\ string test(s);

test.huiwen(); test.show(); }

运行结果:

7.建立一个类PHALANX,生成并显示一个折叠方阵。折叠方阵如下图所示。折叠方阵的生成过程为:起始数置于方阵的左上角,然后从起始数开始递增,依次折叠构成方阵。

具体要求如下: (1)私有数据成员

? int (*p)[20]:指向按照折叠规律存放方阵的二维整型数组。 ? int startnum:折叠方阵的起始数。 ? int n:存放方针的层数。 (2)公有成员函数

? PHALANX (int s, int m ):构造函数,初始化成员数据。 ? void process():生成起始数为startnum的n行方阵。 ? void print():输出折叠方阵。 ? ~ PHALANX( ):析构函数。 (3)在主程序中对该类进行测试。 程序源代码

#include #include class phalanx{ int(*p)[20]; int starnum; int n; public: phalanx(int s,int m); void process(); void print(); ~phalanx(); };

phalanx::phalanx(int s,int m) { starnum=s; n=m; }

void phalanx::process() { int num=starnum; int y=n,i,j,x; p=new int[20][20]; for(x=0;x=0;j--) { p[i][j]=num; num++; } } }

void phalanx::print() { int i,j,m=0; for(i=0;i

phalanx::~phalanx() { delete []p; }

void main() { int s,m; cout<<\输入s和m的值\ cin>>s>>m; phalanx pp(s,m); pp.process(); pp.print();

}

运行结果

8.建立一个MATRIX,生成并显示一个螺旋方阵。螺旋方阵如下图所示,起始数置于方阵的左上角,然后从起始数开始依次递增,按顺时针方向从外向里旋转填数而成。

具体要求如下: (1)私有数据成员

? int a[20] [20]:二维整型数组存放螺旋方阵。 ? int startnum:螺旋方阵的起始数。 ? int n:存放方针的层数。 (2)公有成员函数

? MATRIX (int s, int m ):构造函数,初始化成员数据startnum和n。 ? void process():生成起始数为startnum的n行螺旋方阵。 ? void print():输出螺旋方阵。

(3)在主程序中定义MATRIX类的对象t对该类进行测试。 程序源代码

#include #include class matrix{ int a[20][20]; int starnum; int n; public: matrix(int s,int m); void process(); void print(); };

matrix::matrix(int s,int m) { starnum=s; n=m; }

void matrix::process() { int st=starnum; int i,j,x=0,y=n; for(;x<=(y-1)/2;x++) { for(i=x,j=x;j<(y-x-1);j++) { a[i][j]=st; st++; } for(;i<(y-x-1);i++) { a[i][j]=st; st++; } for(;j>x;j--) { a[i][j]=st; st++; } for(;i>x;i--) { a[i][j]=st; st++; } if(x==(y-1)/2)a[i][j]=st; } }

void matrix::print() { int i,j; for(i=0;ivoid main() { int s,m; cout<<\输入s和m的值\ cin>>s>>m;


VC 课程实践正确答案(1)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:黄冈中学最新高考数学题型分析含黄冈密卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: