0044 編寫一個程式,輸入一串字串,以回車結束,判斷該字串是否是迴文串,如“abcddcba”是迴文串,即正讀反讀相同的串
阿新 • • 發佈:2021-12-02
問題描述:
編寫一個程式,輸入一串字串,以回車結束,判斷該字串是否是迴文串,如“abcddcba”是迴文串,即正讀反讀相同的串
程式碼展示:
1 #include<stdio.h> 2 #include<string.h> 3 int isHuiWen(char str[], int n); 4 int main(){ 5 char str[100]; 6 int len,result; 7 printf("請輸入字串:"); 8 scanf("%s",&str); 9 len = strlen(str);10 result = isHuiWen(str,len); 11 if(result == 1){ 12 printf("該字串是迴文序列"); 13 }else{ 14 printf("該字串不是迴文序列"); 15 } 16 return 0; 17 } 18 int isHuiWen(char str[], int n){ 19 int result; 20 int i=0,j=n-1; 21 22 while((str[i]==str[j]) && (i<=n/2) && (j>=n/2)){ 23 i++;j--; 24 } 25 if((i-2) == j || (i-1)== j){ //奇數個字元和偶數個字元的兩種情況 26 return 1; 27 }else{ 28 return 0; 29 } 30 }
執行截圖: