UVA 401 - Palindromes (字符串)

题目链接

无语+ 无奈 10+的错误,看不懂的题意,不懂为何会AC,为神马删了对O和0的判断就AC。。。真受不了。。。

 1 #include <stdio.h>

 2 #include <string.h>

 3 int main()

 4 {

 5     int i,j,len,x,y;

 6     char p[1000],o[1000];

 7     while(gets(p))

 8     {

 9         x = y = 1;

10         len = strlen(p);

11         for(i = 0; i <= len-1; i ++)

12         {

13             if(p[i] != p[len-i-1])

14             {

15                 x=0;

16                 break;

17             }

18         }

19         for(i = 0; i <= len-1; i ++)

20         {

21             if(p[i] == 'A')

22                 o[i] = 'A';

23             else if(p[i] == 'E')

24                 o[i] = '3';

25             else if(p[i] == 'H')

26                 o[i] = 'H';

27             else if(p[i] == 'I')

28                 o[i] = 'I';

29             else if(p[i] == 'J')

30                 o[i] = 'L';

31             else if(p[i] == 'L')

32                 o[i] = 'J';

33             else if(p[i] == 'M')

34                 o[i] = 'M';

35             else if(p[i]=='S')

36                 o[i] = '2';

37             else if(p[i] == 'T')

38                 o[i] = 'T';

39             else if(p[i] == 'U')

40                 o[i] = 'U';

41             else if(p[i] == 'V')

42                 o[i] = 'V';

43             else if(p[i] == 'W')

44                 o[i] = 'W';

45             else if(p[i] == 'X')

46                 o[i] = 'X';

47             else if(p[i] == 'Y')

48                 o[i] = 'Y';

49             else if(p[i] == 'Z')

50                 o[i] = '5';

51             else if(p[i] == '1')

52                 o[i] = '1';

53             else if(p[i] == '2')

54                 o[i] = 'S';

55             else if(p[i] == '3')

56                 o[i] = 'E';

57             else if(p[i] == '5')

58                 o[i] = 'Z';

59             else if(p[i] == '8')

60                 o[i] = '8';

61             else if(p[i] =='O')

62                 o[i] = 'O';

63             else if(p[i]=='0')

64                 o[i] = '0';

65             else

66             {

67                 y = 0;

68             }

69             if(o[i] == p[len-i-1])

70             ;

71             else

72             {

73                 y = 0;

74                 break;

75             }

76         }

77         if(x&&y)

78             printf("%s -- is a mirrored palindrome.\n",p);

79         else if(!x&&y)

80             printf("%s -- is a mirrored string.\n",p);

81         else if(x&&!y)

82             printf("%s -- is a regular palindrome.\n",p);

83         else if(!x&&!y)

84             printf("%s -- is not a palindrome.\n",p);

85         printf("\n");

86     }

87     return 0;

88 }

 

你可能感兴趣的:(字符串)