回文指正反读均相同的字符序列,例如“abba”和”abdba”均是回文,但“good”不是回文,判定给定字符串是否是回文。
输入格式:
输入一个字符串
输出格式:
如果是回文,输出“回文”;否则输出“不是回文”
输入样例1:
aabcba
输出样例1:
不是回文
输入样例2:
abba
输出样例2:
回文
Answer:
#include<stdio.h>
#include<string.h>
#define MaxStringLength 1000
int main() {
char string[MaxStringLength];
char stack[MaxStringLength];
scanf("%s", string);
int stringLength = strlen(string);
int top = 0;
for ( ; top < stringLength / 2; ++top) {
stack[top] = string[top];
}
top--;
for (int p = (stringLength - 1) / 2 + 1; p < stringLength; ++p) {
if (stack[top] == string[p]) {
top--;
} else {
break;
}
}
if (top == -1) {
printf("回文\n");
} else {
printf("不是回文\n");
}
return 0;
}
|