c语言 回文判断

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:07:16
试编写一个算法,判断依次读入的一个以@为结束符的字母列,是否为形如‘序列1&序列2’模式的字符序列。其中序列1和序列2中都不含字符‘&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属于该模式的字符序列,而‘1+3&3-1’则不是。
要用栈和队列

下面的程序在Turbo C 2.0下调试通过,结果正确,没有问题:

#include <stdio.h>
int check(char s[]){
int i=0,j;
while (s[i] && s[i]!='@') i++;
if (s[i]!='@') return 0;
j=i/2;
if (s[j]!='&') return 0;
i=j-1;
j++;
while(i>=0){
if (s[i]!=s[j]) return 0;
i--;
j++;
}
return 1;
}
main(){
char s[255];
gets(s);
printf("%s\n",check(s)?"YES":"NO");
}

我的简单,用我的。
#include<stdio.h>

int main()
{
char str[80];
int i, j = 0;

scanf("%s", str);
while (str[j++] != '&')
;
i = j - 2;
while (i>0)
{
if (str[i--] != str[j++])
{
printf("wrong~\n");
return 0;
}
}
printf("right\n");
return 0;
}

回文根本不是很难
要用栈和队列,呵呵,为什么布自己写呢
我这里倒是有,但是为你好,还是不给你了