问题描述:
回文串可以被定义为形如abccba,使用递归思想实现一个可以检测回文序串的功能
代码展示:
1 #include<stdio.h>
2 #include<string.h>
3 int isHuiwen(char str[],int i, int j);
4 int main(){
5 char str[100];
6 int i,j;
7 int result;
8 printf("请输入字符串:");
9 scanf("%s",&str);
10 i=0;
11 j = strlen(str)-1;
12 result = isHuiwen(str, i, j);
13 if(result == 1){
14 printf("此字符串是回文序列!\n");
15 }else if(result == 0){
16 printf("此字符串不是回文序列!\n");
17 }
18 return 0;
19 }
20 int isHuiwen(char str[],int i, int j){ //递归判断回文序列
21 int result;
22 if(str[i] == str[j]){
23 i++;j--;
24 if(i == j ){
25 return 1;
26 }else if(i+1 ==j && str[i]==str[j]){
27 return 1;
28 }else{
29 result = isHuiwen(str,i,j);
30 if(result == 1){
31 return 1;
32 }else if(result == 0){
33 return 0;
34 }
35 }
36 }else{
37 return 0;
38 }
39 }