...所谓“回文”是指顺读和倒读都一样的字符串,入
发布网友
发布时间:2024-10-13 00:27
我来回答
共3个回答
热心网友
时间:2024-10-13 00:38
int isPalindrome(char *const str)
{
if(str)
{
if(strlen(str) == 1 || strlen(str) == 0)//长度是1或者0的是回文
{
return 1;
}
char *p = str, *q = p + strlen(str) - 1;
while(*p == *q && p < q)
{
p++;
q--;
}
return p >= q;
}
return 0;
}
int main()
{
//测试代码
printf("%d %d %d %d %d \n",
isPalindrome(""),
isPalindrome("aba"),
isPalindrome("abba"),
isPalindrome("abc"),
isPalindrome("acbc"));
return 0;
}
热心网友
时间:2024-10-13 00:39
#include <stdio.h>
#include <string.h>
int main()
{
int i,j;
char a[80],b[80],*str1,*str2;
i=0;
while((a[i]=getchar())!='\n')
i++;
a[i]='\0';
i--;
j=0;
for(i>=0;i--;)
{
i--;
b[j]=a[j];
j++;
}
b[j]='\0';
str1=a;
str2=b;
if(strcmp(str1,str2)==0)
{
printf("YES");
}
else
{
printf("NO");
}
return 0;
}
热心网友
时间:2024-10-13 00:36
#include "stdio.h"
#include "string.h"
int main(void){
char a[50],b[50];
printf("Input a string...\n");
scanf("%50s",a);
if(strcmp(strrev(strcpy(b,a)),a)==0)
printf("Yes!\n");
else printf("No!\n");
return 0;
}