回文数字计算

#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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值