當前位置:首頁 » 編程語言 » c語言迴文串

c語言迴文串

發布時間: 2025-01-20 22:43:09

⑴ C語言判斷迴文串

下面介紹了幾種判斷迴文的方法:
你提問的第一個地方,比如你輸入了個5個字元的字元串 ,abcba 先判斷第一個和最後一個是否相同 ,再判斷第二個和倒數第二個 。
如果相等程序正常執行 ,如果不相等 ,break就跳出循環 ,你提問的第二個地方就是i 如果等於 len/2說明 上邊循環式正常退出 。那就是說前後一一對比都相同 ,是迴文數 ,不等於len/2說明是由break退出導致,既前邊和後邊某一位不相同
若輸入 abbci=0str[0]='a' str[4-1-0]='c' 執行break;跳出for循環循環結束 i=0 所以判斷不是迴文若輸入ab=0str[0]='a' str[4-1-0]='a' i=1str[1]='b' str[4-1-1]='b'i=2for循環條件不滿足i
這還有另外一種方法,即include "stdio.h" main() { char str[50]; int p,i,j; printf("Input:"); scanf("%s",str); printf("Input the string is:%s\n",str); p=strlen(str); for(i=0,j=p-1;i=j) printf("huiwen"); else printf("not a huiwen"); }

⑵ 用遞歸判斷字元串是否為迴文串(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;
}

熱點內容
matlab粒子群優化演算法 發布:2025-03-07 08:13:49 瀏覽:247
編譯原理翻譯 發布:2025-03-07 08:08:01 瀏覽:590
安卓光遇測試服為什麼伺服器錯誤 發布:2025-03-07 08:05:53 瀏覽:548
火狐緩存文件夾 發布:2025-03-07 08:05:51 瀏覽:110
代碼編程庫 發布:2025-03-07 08:05:09 瀏覽:179
js遠程腳本 發布:2025-03-07 07:54:31 瀏覽:2
linux修改用戶目錄 發布:2025-03-07 07:46:24 瀏覽:458
六個文件夾名稱 發布:2025-03-07 07:45:28 瀏覽:851
華威隨身網路的密碼是什麼 發布:2025-03-07 07:43:07 瀏覽:667
我的世界伺服器生存怎麼改創造 發布:2025-03-07 07:39:53 瀏覽:790