⑴ 用c語言判斷一個數是否是迴文數(不用循環語句)

#include<stdio.h>
#include<string.h>
intfun(char*s,inti,intlen)
{
	if(len/2==i)return1;
	if(*(s+i)==*(s+len-i-1)){
		returnfun(s,i+1,len);
	}
	return0;
}
intmain(){
	
	chars[255];
	scanf("%s",s);
	intlen=strlen(s);
	if(len<=1){
		printf("輸入字元串過短!");
	}
	elseif(fun(s,0,len))
	{
		printf("是迴文");
	}
	else
	{
		printf("不是迴文");
	}
	
	scanf("%s",s);
	return0;
}
我用遞歸實現了
⑵ 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語言) 用遞歸判斷字元串是否為迴文串(C語言)
#include <stdio.h> 
#define SIZE 50 
int isPalindrome(char str[]); 
int elementSize=0; 
static int i=0; 
int main() 
{ 
      int j=0,result; 
      char element,str[SIZE]; 
      printf("請輸入字元串,以回車結束:\n"); 
      /*以下用循環結構讀入字元數組的元素,防止了因字元串中含有空格而不能全部讀入的情況*/ 
      scanf("%c",&element); 
      while(element!='\n')    
          { 
          str[j]=element; 
          elementSize++;//記錄了數組中已有元素的個數 
          j++; 
          scanf("%c",&element); 
          } 
       
      if(isPalindrome(str)) 
          printf("該字元串是迴文字元串\n"); 
      else 
          printf("該字元串不是迴文字元串\n");    
       
     // system("pause"); 
      return 0; 
} 
/*函數功能:判斷字元串是否為迴文串*/ 
int isPalindrome(char str[]) 
{ 
    /*把數組元素前後對應比較,即第一個元素與最後一個元素比較是否相等,依此類推*/ 
    if(i>=elementSize-i-1)//說明是迴文串 
       return 1; 
     
    else if(str[i]==str[elementSize-i-1]) 
       { 
       i++;//i為全局靜態變數 
       isPalindrome(str); 
       } 
     
    else //出現不相等的情況,說明不是迴文串,返回0 
       return 0; 
}
⑷ 用遞歸的方法實現判斷迴文字元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語言編寫程序判斷迴文數
要判斷一個數n是否迴文數,可以利用一個簡單的循環就可以解決問題的。先保存好n的一個副本n1,初始化一個變數n2=0,然後每次取n1的末位數後添加到n2的末位,並把原n1的末位去掉。如此循環,當n1為0時循環結束,此時再判斷,若n2==n,則n就是一個「迴文數」了。
#include<stdio.h>
int main()
{ int n,n1,n2;
  scanf("%d",&n);
  n1=n;
  for(n2=0;n1;n1/=10)
    n2=n2*10+n1%10;
  printf("%s\n",n2==n?"Yes":"No");  
  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);
}
