UVA 401-Palindromes(模拟)(二)

2015-01-26 23:12:50 · 作者: · 浏览: 14
rn 1;
}
int is_m(char str[])
{
? ? int i,j;
? ? int len=strlen(str);
? ? if(len==1)
? ? {
? ? ? ? for(i=0; i<35; i++)
? ? ? ? {
? ? ? ? ? ? if(str[0]==a[i])
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? ? ? if(i==35||str[0]!=b[i])
? ? ? ? ? ? return 0;
? ? ? ? else
? ? ? ? ? ? return 1;
? ? }
? ? else if(len>1)
? ? {
? ? ? ? for(i=0; i<(len/2+1); i++)
? ? ? ? {
? ? ? ? ? ? for(j=0; j<35; j++)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if(str[i]==a[j])
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? ? ? if(j==35||str[len-i-1]!=b[j])
? ? ? ? ? ? ? ? return 0;
? ? ? ? }
? ? ? ? return 1;
? ? }
}
int main()
{
? ? int flag1,flag2;
? ? while(~scanf(%s,str))
? ? {
? ? ? ? flag1=is_p(str);
? ? ? ? flag2=is_m(str);
? ? ? ? //printf(%d %d<<<<<<<,flag1,flag2);
? ? ? ? if(flag1&&flag2)
? ? ? ? {
? ? ? ? ? ? printf(%s -- is a mirrored palindrome.
?
,str);
? ? ? ? }
? ? ? ? else if(flag1&&!flag2)
? ? ? ? {
? ? ? ? ? ? printf(%s -- is a regular palindrome.
?
,str);
? ? ? ? }
? ? ? ? else if(flag2&&!flag1)
? ? ? ? {
? ? ? ? ? ? printf(%s -- is a mirrored string.
?
,str);
? ? ? ? }
? ? ? ? else if(!flag2&&!flag1)
? ? ? ? {
? ? ? ? ? ? printf(%s -- is not a palindrome.
?
,str);
? ? ? ? }
? ? }
? ? return 0;
}
?
?