#include
using namespace std;
//bool isPaldream(int x)
//{
// int s = x;
// if (x < 0)
// {
// return false;
// }
// else if (x >= 0 && x < 10)
// {
// return true;
// }
// int tmp = 0;
// while (x)
// {
// tmp = tmp * 10 + (x % 10);
// x = x / 10;
// }
// if (tmp == s)
// return true;
// else {
// return false;
// }
//}缺点是如果x过大会引起tmp数据过大溢出…
bool isPaldream(int x)
{
if (x < 0)
{
return false;
}
if (x >= 0 && x < 10)
{
return true;
}
char str[100] = " ";
int i = 0;
while (x)
{
str[i] = x%10+‘a’;
x = x / 10;
i++;
}
char* p = str;
char* q = &str[i - 1];
while (p <= q)
{
if (*p != *q)
{
return false;
}
p++;
q–;
}
return true;
}//该方法可以解决所有问题,但是唯一缺点是要建立数组,最小是32这里用了100,由于本人对动态内存管理并不熟悉,日后熟悉后会分享动态内存管理方案…
int main()
{
int c = 0;
cin >> c;
cout<<isPaldream©;
return 0;
}
回文数字计算
最新推荐文章于 2022-12-02 01:56:19 发布