//判断回文数
//个位数也算回文数,最小的回文数是0
#include <iostream>
using namespace std;
bool isPalindromic(unsigned char* num);
int main(char argc, char** argv)
{
unsigned char inputNum[50] = { 0 };
cout << "输入任意正整数(低于50位):";
cin >> inputNum;
if (isPalindromic(inputNum))
cout << inputNum << "是回文数" << endl;
else
cout << inputNum << "不是回文数" << endl;
return 0;
}
bool isPalindromic(unsigned char *num)
{
bool flag = 1;
unsigned char* pStar = num;
unsigned char* pEnd = nullptr;
for (pEnd = num; *pEnd != '\0'; pEnd++)
;
pEnd--;
while ((pStar != pEnd) && (pStar < pEnd))
{
if ((*pStar) != (*pEnd))
{
flag = false;
break;
}
pStar++;
pEnd--;
}
return flag;
}
12-11
07-25
1624
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
12-14
1227
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-29
9465
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)