C++回文判断
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
j++;
}
cout<<"结果为:"<<endl;
for (int i=1;i<=j/2;i++)
{
*s.top--;
*q.top--;
if(*s.top!=*q.top)
{cout<<"NO"<<endl;return;}
}
cout<<"YES"<<endl;
}
void main()
{
loop:SqStack p;
l.base=(char*)malloc(stack_size*sizeof(char));
l.stacksize=stack_size;
l.base=q.base;
l.top=q.top;
while (l.top!=l.base)
{
l.top--;
*s.top=*l.top;
*s.top++;
}
cout<<"你要判断的字符串为:"<<endl;
while (a!='#')
{
*s.top=a;
*s.top++;
cin>>a;
}
return s;
}
void output(SqStack q)
{
SqStack s,l;
s.base=(char*)malloc(stack_size*sizeof(char));
s.top=s.base;
s.stacksize=stack_size;
[问题描述]
对于一个从键盘输入的字符串,判断其是否为回文。回文即正反序相同。如“abba”是回文,而“abab”不是回文。
[基本要求]
(1)数据从键盘读入;
(2)输出要判断的字符串;
(3)利用栈的基本操作对给定的字符串判断其是否是回文,若是则输出“Yes”,否则输出“No”。
[测试数据]
由学生任意指定。
SqStack InitStack()
{
cout<<"输入字符串以#结束:"<<endl;
SqStack s;
s.base=(char*)malloc(stack_size*sizeof(char));
s.top=s.base;
s.stacksize=stack_size;
char a;
cin>>a;
l.base=(char*)malloc(stack_size*sizeof(char));
l.stacksize=stack_size;
l.base=q.base;
l.top=q.top;
int j=0;
while (l.top!=l.base)
{
l.top--;
*s.top=*l.top;
*s.top++;
p=InitStack();
output(p);
judge(p);
goto loop;
}
#include<iostream.h>
#include <malloc.h>
#include <string>
using namespace std;
#define stack_size 10
typedef struct {
char *base;
char *top;
int stacksize;
}SqStack;
while (s.top!=s.base)
{
s.top--;
cout<<*s.top;
}
c源自文库ut<<endl;
}
void judge(SqStack q)
{
SqStack s,l;
s.base=(char*)malloc(stack_size*sizeof(char));
s.top=s.base;
s.stacksize=stack_size;
}
cout<<"结果为:"<<endl;
for (int i=1;i<=j/2;i++)
{
*s.top--;
*q.top--;
if(*s.top!=*q.top)
{cout<<"NO"<<endl;return;}
}
cout<<"YES"<<endl;
}
void main()
{
loop:SqStack p;
l.base=(char*)malloc(stack_size*sizeof(char));
l.stacksize=stack_size;
l.base=q.base;
l.top=q.top;
while (l.top!=l.base)
{
l.top--;
*s.top=*l.top;
*s.top++;
}
cout<<"你要判断的字符串为:"<<endl;
while (a!='#')
{
*s.top=a;
*s.top++;
cin>>a;
}
return s;
}
void output(SqStack q)
{
SqStack s,l;
s.base=(char*)malloc(stack_size*sizeof(char));
s.top=s.base;
s.stacksize=stack_size;
[问题描述]
对于一个从键盘输入的字符串,判断其是否为回文。回文即正反序相同。如“abba”是回文,而“abab”不是回文。
[基本要求]
(1)数据从键盘读入;
(2)输出要判断的字符串;
(3)利用栈的基本操作对给定的字符串判断其是否是回文,若是则输出“Yes”,否则输出“No”。
[测试数据]
由学生任意指定。
SqStack InitStack()
{
cout<<"输入字符串以#结束:"<<endl;
SqStack s;
s.base=(char*)malloc(stack_size*sizeof(char));
s.top=s.base;
s.stacksize=stack_size;
char a;
cin>>a;
l.base=(char*)malloc(stack_size*sizeof(char));
l.stacksize=stack_size;
l.base=q.base;
l.top=q.top;
int j=0;
while (l.top!=l.base)
{
l.top--;
*s.top=*l.top;
*s.top++;
p=InitStack();
output(p);
judge(p);
goto loop;
}
#include<iostream.h>
#include <malloc.h>
#include <string>
using namespace std;
#define stack_size 10
typedef struct {
char *base;
char *top;
int stacksize;
}SqStack;
while (s.top!=s.base)
{
s.top--;
cout<<*s.top;
}
c源自文库ut<<endl;
}
void judge(SqStack q)
{
SqStack s,l;
s.base=(char*)malloc(stack_size*sizeof(char));
s.top=s.base;
s.stacksize=stack_size;