第
6
周上机实验参考答案
A
题:回文串
#include
#include
int Palindrome(char * s1)
{
char str[50];
int k,i,j;
k=strlen(s1);
for(i=k-1,j=0;i>=0;i--,j++)
str[j]=s1[i];
str[j]='\0';
if(strcmp(s1,str)==0)
return 1;
else
return 0;
}
int main()
{
char s[50];
scanf("%s",s);
int flag=Palindrome(s);
if(flag==1)
printf("Y",s);
else
printf("N",s);
return 0;
}
解法二:
#include
#include
int main()
{
char a[254],b[254];
int n,i,k;
gets(a);
n=strlen(a);
for(i=0;i
b[n-i-1]=a[i];
for(i=0;i
if(a[i]!=b[i])
{
printf("N\n");k=0;
break;
}
if(k!=0)
printf("Y\n");
return 0;
}
解法三:
#include
#include
int main()
{
char a[255];
int i,j,n;
gets(a);
n=strlen(a);
for(i=0,j=n-1;i
if(a[i]!=a[j]) break;
if(i>=j) printf("Y");
else printf("N");
return(0);
}