设为首页 加入收藏

TOP

C/C++回文字符串 
2013-01-13 10:32:41 来源: 作者: 【 】 浏览:470
Tags:C/C 字符串  

  1./*回文:回文就是正读反读都一样的字符串,

  2. 例如:"radar","12321" 和 "abcba"等

  3. 请用递归函数palindrome(),在数组中的字符串为回文时返回true,否则返回false.

  4. 函数忽略字符串中的空格和标点符号。 */

  5.

  6.#include <stdio.h>

  7.#include <conio.h>

  8.

  9.

  10./*参数: str字符串  m一半数  n总个数*/

  11.int palindrome(char str[], int m, int n)

  12.{

  13.     if(str[m]==str[n-m] && m==0)

  14.       return 1;

  15.     else if(str[m]==str[n-m])

  16.       palindrome(str, m-1, n);

  17.     else

  18.      return 0;

  19.

  20.}

  21.

  22.int main()

  23.{

  24. char str[20];

  25. char c;

  26. int n=0;

  27. int flag =0;

  28.

  29. while((c=getchar()) !='/n')

  30. {

  31.    str[n] = c;

  32.    n++;

  33. }

  34.

  35. if(n%2==0)

  36.   flag = palindrome(str, n/2, n-1);

  37. else

  38.   flag = palindrome(str,n/2-1, n-1);

  39.

  40. if(flag==0)

  41.  printf("不是回文");

  42. else

  43.  printf("是回文");

  44.

  45. getch();

  46. return 0;

  47.}

  48.

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇原来结构体和函数是可以同名 下一篇简单c++序列化

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: