📄 3_huiwen.cpp
字号:
//回文游戏;
#include <iostream.h>
#include <string.h>
struct stack{//定义堆栈
char * base;
char * top;
int stacksize;
};
void InitStack(stack &s){//构造一个空栈
s.base=new char(40);
s.top=s.base;
s.stacksize=40;
}
int push(stack &s,char e){
*s.top++=e;
return 1;
}
int pop(stack &s,char &e){
e=*--s.top;
return 1;
}
char * unspace(char * str1){//去掉输入字符串中的空格
char *sh,*ch1;
sh=str1;
// cout<<"str1:"<<sh<<endl;
while(*sh!='\0')
{
if(*sh==' ')
{
cout<<"here"<<endl;
ch1=sh;
while(*ch1!='\0')
{
*ch1=*(ch1+1);
ch1++;
}
}
sh++;
}
// cout<<str1<<endl;
return str1;
}
/*------------------------------*/
void main(){
char * str=" ";
char strl[80];
char *ss,*s1;
char *ch,ch1;
int i=0,k=1;
char yy='y',nn;
stack sq;
InitStack(sq);
while(k)
{
k=0;
cout<<"please input a string end with #:"<<endl;
cin>>ch1;
while(ch1!='#')
{
*(strl+i)=ch1;i++;
cin>>ch1;
}
*(strl+i)='\0';
str=strl;
cout<<strl<<endl;
//cout<<str<<endl;
//cout<<*(str+2)<<endl;
ss=unspace(str);
for(ch=ss;*ch!='\0';ch++){
push(sq,*ch);
}
*ch='\0';
ch++;
for(s1=ch;sq.top!=sq.base;ch++){
pop(sq,*ch);
}
*ch='\0';
//cout<<ss<<endl;
//cout<<s1<<endl;
if(!strcmp(ss,s1))
cout<<"输入是回文。"<<endl;
else cout<<"输入不是回文。"<<endl;
cout<<"是否继续?y/n"<<endl;
cin>>nn;
if(nn==yy){k=1;i=0;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -