方法一 :
将一个整数翻转,判断翻转后的数是否与原数相等,如果相等则是回文数
int JudgePalindrome(int n)//方法1
{
int m = 0;
int c = n;//保存n,底下用于判断是否和反过来的数相等
while (n)
{
m = m * 10 + n % 10;
n = n / 10;
}
if (c == m)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int n;
printf("请输入一个数:");
scanf("%d", &n);
int ret = JudgePalindrome(n);
if (ret == 1)
{
printf("是回文数字\n");
}
else
{
printf("不是回文数字\n");
}
system("pause");
return 0;
}
方法二 :
将数字转换成一个字符串,判断这个字符串是否左右相等。如果左右对称相等,则该数是回文数。
int JudgePalindrome(char * arr) //方法2
{
int len = strlen(arr);
for (int i = 0; i <= len / 2; i++)
{
if (arr[i] == arr[len - 1])
{
;
}
else
{
return 0;
break;
}
len--;
}
}
int main()
{
char arr[100] = "";
printf("请输入一个数");
scanf("%s", arr);
int ret=JudgePalindrome(arr);
if (ret == 1)
{
printf("是回文数字\n");
}
else
{
printf("不是回文数字\n");
}
system("pause");
return 0;
}