當前位置:首頁 » 編程語言 » c語言遞歸法判斷迴文數字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言遞歸法判斷迴文數字

發布時間: 2023-02-24 23:53:09

⑴ 用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);
}