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

如题所述

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

有问题请追问,满意请采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-14
#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<j)
{ while(str[i]==32)
i++;
while(str[j]==32)
j--;
if(str[j]==str[i])
{i++;j--;}
else return(0);
}
return(1);
}本回答被提问者和网友采纳
相似回答