C++之判別回文數


當我們學習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 }

我判別的方式是先判斷該字符串是否是空串,如果不是空串就接着判斷字符串長度是奇數還是偶數,然后分別判斷。

這道題的思路還是很明確的,希望能幫到大家。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM