當我們學習C++時經常會遇到讓我們判斷一個字符串是不是回文字符串的問題,下面我將給大家展示如何判斷。
回文字符串的意思是從前往后讀和從后往前讀結果都是一樣的,所以我們可以將字符串轉換為字符來進行判斷。
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 string str; 6 cout<<"請輸入一個字符串:"; 7 cin>>str; 8 int sum=0; 9 int a=str.length(); 10 if(a==0) 11 { 12 cout<<"字符串是空串!"<<endl; 13 } 14 else if(str.length()%2!=0) 15 { 16 for(int i=0; i<(a-1)/2; i++) 17 { 18 if(str[i]!=str[a-1-i]) 19 { 20 cout<<"0……該字符串不是回文串!"<<endl; 21 break; 22 } 23 else 24 sum++; 25 } 26 if(sum==(a-1)/2) 27 cout<<"1……該字符串是回文串!"<<endl; 28 } 29 else 30 { 31 for(int i=0; i<a/2; i++) 32 { 33 if(str[i]!=str[a-1-i]) 34 { 35 cout<<"0……該字符串不是回文串!"<<endl; 36 break; 37 } 38 else 39 sum++; 40 } 41 if(sum==a/2) 42 cout<<"1……該字符串是回文串!"<<endl; 43 } 44 return 0; 45 }
我判別的方式是先判斷該字符串是否是空串,如果不是空串就接着判斷字符串長度是奇數還是偶數,然后分別判斷。
這道題的思路還是很明確的,希望能幫到大家。
