回文判断实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

回文判断实验报告

一.实验题目:回文判断

二.实验目的:

对于一个从键盘输入的字符串,判断其是否为回文。回文即正反序相同。如“abba”是回文,而“abab”不是回文。

三.实验需求:

1.数据从键盘读入;

2.输出要判断的字符串;

3.利用栈的基本操作对给定的字符串判断其是否是回文,若是则输出“Yes”否则输出“No”

四.主要实现函数

(1)建立顺序栈存储结构

typedef struct { }

(2)初始化

int initstack(Sqstack &s,int maxsize)

(3)入栈

int enstack(Sqstack &s, char e)

(4)出栈

int popstack(Sqstack &s,char &e)

(5)判断是否为回文

int main()

{

int r; //用于判断是否为回文

Sqstack L,Q; //定义两个栈

initstack(L,20);

initstack(Q,20);

int l; //用于记录输入字符的长度cout<<"请输入字符串长度";

cin>>l;

if(l<=0)exit(1);

cout<<"输入字符"<

for(int i=1;i<=l;i++) //输入字符

{

char p;

cin>>p;

enstack(L,p); //入栈 L

}

cout<

for(int m=1;m<=l;m++)

{

char f;

f=getstack(L,m); //从栈 L中取元素,在入栈 Q enstack(Q,f);

}

for(int n=1;n<=l;n++)

{

char a,b; //从栈 L Q 出栈,比较

popstack(L,a);

popstack(Q,b);

if(a!=b)r=1;

else r=2;

}

if(r==1)cout<<"no"<

五.源程序

#include

using namespace std;

typedef char SElemType;

typedef struct {

SElemType *base;

SElemType *top;

int stacksize;

}Sqstack;

int initstack(Sqstack &s,int maxsize) / {

=new SElemType[maxsize];

if(!exit(1);

=;

=maxsize;

return 0;

}

int enstack(Sqstack &s, char e) {

if 0;

}

int popstack(Sqstack &s,char &e) {

if==exit(1);

e=*;

return 0;

}

int getstack(Sqstack &s,int i) {

SElemType *p;

p=;

for(int j=1;j<=i;j++)

{p--;}

return *p;

}

int main()

{

int r; Sqstack L,Q; initstack(L,20);

initstack(Q,20);

int l; cout<<"请输入字符串长度";

cin>>l;

if(l<=0)exit(1);

cout<<"输入字符"<

for(int i=1;i<=l;i++) {

char p;

cin>>p;

enstack(L,p);

}

cout<

for(int m=1;m<=l;m++)

{

char f;

f=getstack(L,m); enstack(Q,f);

}

for(int n=1;n<=l;n++)

{

char a,b; popstack(L,a);

popstack(Q,b);

if(a!=b)r=1;

else r=2;

}

if(r==1)cout<<"no"<

else if(r==2)cout<<"yes"<

else cout<<"发生错误"<

cout<<"继续判断输入Y,退出输入N"<>d;

if(d=='y'||d=='Y')main(); else return 0;

}

五.各功能的运行界面:

(1)主界面:

(2)输入1,2,3,4四个字符判断是否是回文,运行界面如下:

(3)设置字符串长度为5,a,s,d,s,a,判断是否为回文,运行界面如下:

相关文档
最新文档