⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3_huiwen.cpp

📁 回文游戏
💻 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 + -