回文(栈和队列)(C语言)
假设称正读和反读都相同的字符序列为“回文”,例如,‘abba‘和‘abcba‘是回文,‘abcde‘和‘ababab‘则不是回文。试写一个算法判别读入的一个字符序列是否是...
假设称正读和反读都相同的字符序列为“回文”,例如,‘abba‘ 和 ‘abcba‘是回文,‘abcde‘ 和 ‘ababab‘ 则不是回文。试写一个算法判别读入的一个字符序列是否是“回文”。
输入要求 展开
输入要求 展开
1个回答
展开全部
#include <stdio.h>
void main( )
{
char str[100], queue[100], stack[100], top = -1, front = 0, rear = 0, i;
int IsHuiwen = 1;
gets(str);
for(i = 0; str[i] != '\0'; i++)
{
queue[rear++] = str[i];
stack[++top] = str[i];
}
while(top !== -1 && IsHuiwen)
{
if(stack[top--] != queue[front++])
IsHuiwen = 0;
}
if(IsHuiwen) printf("yes!\n);
else printf("no!\n);
}
void main( )
{
char str[100], queue[100], stack[100], top = -1, front = 0, rear = 0, i;
int IsHuiwen = 1;
gets(str);
for(i = 0; str[i] != '\0'; i++)
{
queue[rear++] = str[i];
stack[++top] = str[i];
}
while(top !== -1 && IsHuiwen)
{
if(stack[top--] != queue[front++])
IsHuiwen = 0;
}
if(IsHuiwen) printf("yes!\n);
else printf("no!\n);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询