① 用递归的方法实现判断回文字符c语言
#include<stdio.h>
#include<string.h>
int hw(char *s,int a,int b)
{return s[a]==s[b]&&(a>=b-2||a<b-2&&hw(s,a+1,b-1));
}
int main()
{ char s[300];
gets(s);
printf("%s%s是回文。 ",s,hw(s,0,strlen(s)-1)?"":"不");
return 0;
}
② C语言:编写一个测试一个串是否为回文的递归函数,是回文,返回1;不是,返回0。
#include<stdio.h>
inthuiwen(char*s,intn)
{if(n<2)return1;
if(*s!=*(s+n-1))return0;
returnhuiwen(s+1,n-2);
}
intmain()
{chars[200];
inti,k;
scanf("%d%*c",&k);
while(k--)
{gets(s);
for(i=0;s[i];i++);
printf("%s ",huiwen(s,i)?"Yes!":"No!");//运行完了才加上的"!"
}
return0;
}
③ 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);
}
④ C预言递归回文字符串
一定要递归吗?
不是递归的方法:http://hi..com/love7mlove/blog/item/ca88ea38df8b802b97ddd809.html
⑤ 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; i<t; ++i)
{
if (*(p + i) != *(p + n - i))
{
break;
}
}
if (i >= t)
{
printf("YES ");
}
else
{
printf("NO ");
}
return 0;
}
⑥ C语言编程,用递归求回文字符串
#include<stdio.h>
#include<string.h>
#defineN50
voidinput(chara[]){
charc;
inti;
printf("请在下面输入字符串: ");
for(i=0;i<N;i++){
scanf("%c",&c);
if(c=='q')break;//qtoquit!
while(c<'a'||c>'z')scanf("%c",&c);//只读入小写字母
a[i]=c;
}
a[i]='