目录
题目要求
代码实现
题目要求
编写一个函数,用来判断一个整数是否是回文整数,如果是回文整数就返回 true ,如果不是就返回 false
举例说明:
输入:121
输出:true
输入:1321
输出:false
输入:-121
输出:false
代码实现
代码演示:
#include<stdio.h>
#include<stdbool.h>
bool Is_Palindrome(int n)
{
int tmp = n;
int sum = 0;
while (tmp > 0)
{
sum = sum + (tmp % 10);
tmp = tmp / 10;
sum = sum * 10;
}
// sum 多乘了一个10
sum = sum / 10;
return (sum == n);
}
int main()
{
int input = 0;
scanf("%d", &input);
bool ret = Is_Palindrome(input);
if (ret)
printf("Yes\n");
else
printf("No\n");
return 0;
}
代码解析:
先用 tmp 变量存储 input 的值,负数肯定不是回文整数,所以 tmp 要大于 0 ,再将 tmp 从低到高的每一位剥离下来,并存储到变量 sum ,且每次存储到 sum 时,都要递乘 10,出循环后 sum 再除 10 ,只要 input 是回文整数,那么 input 的值就会和 sum 的值相同
代码验证(输入121时):
代码验证(输入1321时):
代码验证(输入-121时):