10/14回文游戏
include
using namespace std;
define OK 1;//定义宏观变量
define ERROR 0;
define OVERFLOW -2
define MASIZE 100//定义栈的最大容量
typedef struct {
char* base;
char* top;
int stacksize;
}SqStack;
int InitStack(SqStack& S)//初始化栈
{
S.base = new char[MASIZE];
if (!S.base)exit(OVERFLOW);//查看栈是否初始化成功
S.top = S.base;
S.stacksize = MASIZE;
return OK;
}
int Push(SqStack& S, char e)//元素入栈
{
if (S.top - S.base == S.stacksize)return ERROR;
*S.top++ = e;
return OK;
}
int Pop(SqStack& S, char& e)//栈顶元素按顺序出栈
{
e = *--S.top;
cout << "字符元素为: " << e << endl;
return e;
}
int main()
{
SqStack S1;
if (InitStack(S1))
cout << "栈初始化成功" << endl;
cout << "请输入入栈元素的个数" << endl;
int n;
cin >> n; char c[100];//定义一个存放字符的数组
cout << "请输入第一个字符" << endl;
for (int i = 0; i < n; i++)
{
char e1; cin >> e1;
c[i] = e1;
if ((Push(S1, e1)) && c[i] != '\0')//去除字符串中的空格
{
cout << "第" << i + 1 << "个元素入栈成功" << endl;
}
else { cout << "入栈失败" << endl; }
}
int b = 1;
for (int i = 0; i < n; i++)
{
char e;
if (Pop(S1, e) != c[i])//判断字符串是否为回文
b = -1;
}
if (b == -1)
cout << "不是回文串" << endl;
else cout << "是回文串" << endl;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!