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 }

我判别的方式是先判断该字符串是否是空串,如果不是空串就接着判断字符串长度是奇数还是偶数,然后分别判断。

这道题的思路还是很明确的,希望能帮到大家,如果对大家有帮助希望能收藏或关注,谢谢大家。

猜你喜欢

转载自www.cnblogs.com/lcy-4/p/12720980.html