C语言编程,读入一个字符串(不多于80个字符,以回车结束),判断该字符串是否为回文串,是输出Y,否则输N

2024-12-01 23:13:15
推荐回答(2个)
回答1:

#include
#include
int main()
{
char a[81];
int n=0;
while((ch=getchar())!= '\n') //输入连续字符串,再两个回车结束
{
a[n] = ch;
n++;
}
for(int i=0;i{
if(a[i] != a[n-i-1])
{
printf("No");
return 0;
}
printf("yes");
return 1;
}
}

有问题请追问,满意请采纳

回答2:

#include "stdio.h"
#include "string.h"
#define MAX 80
int Palindrome(const char*str);
int main()
{ char str[MAX];
gets(str);
if(Palindrome(str))
{printf("Y");printf("\n");}
else
{printf("N");printf("\n");}
return 0;
}
int Palindrome(const char *str)
{ int i=0,j=strlen(str)-1;
while(i{ while(str[i]==32)
i++;
while(str[j]==32)
j--;
if(str[j]==str[i])
{i++;j--;}
else return(0);
}
return(1);
}