整数
//方法1
#include <iostream>
using namespace std;
int reverse(int x)
{
int y=0,z;
while(x>0)
{
z=x%10;
y=y*10+z;
x=x/10;
}
return y;
}
int main()
{
int m;
cin>>m;
if (m==reverse(m))
cout<<m<<"是回文数,噢耶!"<<endl;
else
cout<<m<<"不是回文数,回文有什么好!"<<endl;
return 0;
}
//方法二转化为字符串
#include <string>
using namespace std;
bool isPalindrome(string str)
{
int begin = 0, end = str.length()-1;
while (begin < end) {
if (str[begin] == str[end]) {
begin++;
end--;
} else {
return false;
}
}
return true;
}
int main()
{
char c[100];
int a,b;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
itoa (i,c,10);
if(isPalindrome(c)) cout<<i<<endl;
}
return 0;
}
字符串判断是否为回文
//方法一
#include <bits/stdc++.h>
#include <string>
using namespace std;
bool isPalindrome(string str)
{
int begin = 0, end = str.length()-1;
while (begin < end) {
if (str[begin] == str[end]) {
begin++;
end--;
} else {
return false;
}
}
return true;
}
int main()
{
string s;
cin>>s;
if(isPalindrome(s)) cout<<"字符串是回文"<<endl;
else cout<<"字符串不是回文"<<endl;
return 0;
}
//方法二 利用reverse函数
#include <bits/stdc++.h>
#include <string>
using namespace std;
int main()
{
string s;
cin>>s;
string s1=s;
reverse (s.begin(),s.end());
if(s1==s) cout<<"字符串是回文"<<endl;
else cout<<"字符串不是回文"<<endl;
return 0;
}