① 用遞歸的方法實現判斷迴文字元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]='