- /*回文:回文就是正读反读都一样的字符串,
- 例如:"radar","12321" 和 "abcba"等
- 请用递归函数palindrome(),在数组中的字符串为回文时返回true,否则返回false。
- 函数忽略字符串中的空格和标点符号。 */
- #include <stdio.h>
- #include <conio.h>
- /*参数: str字符串 m一半数 n总个数*/
- int palindrome(char str[], int m, int n)
- {
- if(str[m]==str[n-m] && m==0)
- return 1;
- else if(str[m]==str[n-m])
- palindrome(str, m-1, n);
- else
- return 0;
- }
- int main()
- {
- char str[20];
- char c;
- int n=0;
- int flag =0;
- while((c=getchar()) !='/n')
- {
- str[n] = c;
- n++;
- }
- if(n%2==0)
- flag = palindrome(str, n/2, n-1);
- else
- flag = palindrome(str,n/2-1, n-1);
- if(flag==0)
- printf("不是回文");
- else
- printf("是回文");
- getch();
- return 0;
- }
<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>