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.