#include<stdio.h>
#include<string.h>
#include<malloc.h>
typedef struct {
char a[100];
int len;
}Stack,*LinkStack;
int main()
{
LinkStack s;
s=(LinkStack)malloc(sizeof(Stack));
s->len=0;
char ch[100];
gets(ch);
int length;
length=strlen(ch);
int mid;
mid=length/2;
for(int i=0;i<mid;i++)
{
s->a[s->len]=ch[i];
s->len++;
}
int act;
if(length%2!=0)
{
act=length/2+1;
}
else
{
act=length/2;
}
for(int i=act;i<length;i++)
{
if(s->a[--s->len]!=ch[i])
{
printf("Wrong");
return 0;
}
}
printf("Right");
return 0;
}
int main(){
LinkStack s;
s=(LinkStack)malloc(sizeof(Stack));
s->len=0; //将栈中指针置0
char ch[100];
gets(ch);
int length;
length=strlen(ch); //计算字符串长度
int mid;
mid=length/2; //计算字符串的一半
for(int i=0;i<mid;i++){
s->a[s->len]=ch[i]; //将一半存入栈中
s->len++; //栈指针跟随增加
}
int act;
if(length%2!=0) //如果字符串为奇数,字符串的下一半是一半加一
act=length/2+1;
else
act=length/2; //字符串是偶数,字符串的从一半开始
for(int i=act;i<length;i++){
if(s->a[--s->len]!=ch[i]){
printf("Wrong"); //判断是否都相等
return 0;
}
}
printf("Right");
return 0;
}
图解如上