实现一个函数,判断输入字符串是否对称

【问题描述】实现一个函数,判断输入字符串是否对称?

例如,

1234554321,symmetry;

12345654321,symmetry;

1,symmetry


【解题思路】

见代码


[cpp] view plain copy print ?
  1. 代码:  
代码:

[cpp] view plain copy print ?
  1. #include   
  2. #include   
  3. using namespace std;  
  4.   
  5. #define MAX 100  
  6.   
  7. bool symmetry(char *str)  
  8. {  
  9.     int n;  
  10.     n=strlen(str);  
  11.   
  12.     /* 
  13.     //如果字符串为NULL,或者只有一个字符 
  14.     if (n==0 || n==1) 
  15.         return true; 
  16.     */  
  17.   
  18.     //如果有一个字符不对称,那么字符串就是不对称  
  19.     for (int i=0;i
  20.     {  
  21.         if (*(str+i) != *(str + n-1 -i))  
  22.             return false;     
  23.     }  
  24.   
  25.     return true;  
  26. }  
  27.   
  28. int main()  
  29. {  
  30.     //定义一个数组,从标准输入输入字符串  
  31.     char array[MAX];  
  32.     cin>>array;  
  33.   
  34.     //用数组名初始化指针str  
  35.     char *str=array;  
  36.   
  37.     //  
  38.     cout<<"This string is symmerty or not: "<
  39.         <
  40.   
  41.     return 0;  
  42. }  
  43.   
  44. /* 
  45. 统计字符串长度 
  46.  
  47. 1. 
  48. n=strlen(str);  
  49.  
  50. 2. 
  51. int n=0; 
  52.  
  53. while(*p != '\0') //指向的内容与字符'\0'作比较 
  54. { 
  55.    ++n; 
  56.    ++p; //地址自增 
  57. } 
  58.  
  59. */  

你可能感兴趣的:(算法)