您的位置:

c语言递归回文,C语言函数递归

本文目录一览:

C语言编程,用递归求回文字符串

#include stdio.h

#include string.h

#define N 50

void input(char a[]) {

char c;

int i;

printf("请在下面输入字符串:\n");

for(i = 0;i  N;i++) {

scanf("%c",c);

if(c == 'q') break; // q to quit!

while(c  'a' || c  'z') scanf("%c",c); // 只读入小写字母

a[i] = c;

    }

a[i] = '\0'; // 添加串结束符

}

int fun(char a[],int length,int i) {

if(i == length/2) return 1;

if(a[i] != a[length - i - 1]) return 0;

fun(a,length,i + 1);

return 1;

}

int main() {

char a[N];

int length;

int i=0;

input(a);

length = strlen(a);

// printf("%d",length);

if(fun(a,length,i)) printf("yes\n");

else  printf("no\n");

    return 0;

}

C语言 递归函数 写 回文 程序

#include stdio.h

int palindrome(char *string);

void main()

{int i;

char str[100],*string=str;

gets(string);

i=palindrome(string);

printf("i=%d\n",i);

getch();

}

int palindrome(char *string)

{int n=0,i,flag=1;

char *p=string;

while(*p!='\0')

{n++;p++;}

for(i=0;i=n/2;i++)

{if(*(string+i)==*(string+n-i-1)) ;

else return 0;

}

return 1;}

c语言,利用递归判断回文

#include stdio.h

#include string.h

int main(void)

{

char p[100] = {0};

int i, t, n;

gets(p);

n = t = strlen(p);

--n;

t /= 2;

for (i = 0; it; ++i)

{

if (*(p + i) != *(p + n - i))

{

break;

}

}

if (i = t)

{

printf("YES\n");

}

else

{

printf("NO\n");

}

return 0;

}

回文字符串——递归。C语言。

#includestdio.h

#includestring.h

char _str[1005];

int IsH(char _str[],int _L,int _R)

{

if(_L=_R)return 1;

if(_str[_L]-_str[_R])

return 0;

return IsH(_str,_L+1,_R-1);

}

void main()

{

while(gets(_str),strcmp(_str,"#"))//输入#结束

printf("%s\n",IsH(_str,0,strlen(_str)-1)?"Yes":"No");

}

用递归的方法实现判断回文字符c语言

#includestdio.h

#includestring.h

int hw(char *s,int a,int b)

{return s[a]==s[b](a=b-2||ab-2hw(s,a+1,b-1));

}

int main()

{ char s[300];

gets(s);

printf("%s%s是回文。\n",s,hw(s,0,strlen(s)-1)?"":"不");

return 0;

}

C语言用递归判断数字是否为回文数

首先求出数字的长度n,

然后判断第1位和第n位是否相等

第i位和第n+1-i位是否相等。对i循环

单独写一个函数求出这个数字第i位的大小

int GetI(int i,int number){

if(i==1)

return number%10;

return GetI(i-1,number/10);

}