回文串判定
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入一串字符(长度小于100),判断该串字符是否是回文串(正序读与逆序读内容相同)。
输入
输入一串字符(长度小于100)。
输出
若该串字符是回文串输出“yes",否则输出”no“。
示例输入
asdfgfdsa
示例输出
yse
这道题第一次写了,(没用栈),后来用栈后对了。。。
(第一次代码)
#include<stdio.h>
#include<string.h>
int main()
{
char s[200];
scanf("%s",s);
int l=strlen(s);
int f;
for(int i=0;i<l/2;i++)
{
if(s[i]!=s[l-i-1])
{
f=0;break;
}
else f++;
}
if(!f) printf("no\n");
else printf("yes\n");
return 0;
}
(第二次正确的代码)
#include<stdio.h>
#include<string.h>
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define maxsize 200
typedef char Elemtype;
typedef int Status;
typedef struct
{
Elemtype data[maxsize];
int top;
}Stack;
Status Initstack (Stack &S)
{
S.top=-1;
return OK;
}
Status Push(Stack &S,char e)
{
if(S.top==maxsize-1) return ERROR;
S.top++;
S.data[S.top]=e;
return OK;
}