用C语言实现回文数

LeetCode刷题Day 1
题目:输入一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
题目链接:https://leetcode-cn/problems/palindrome-number/

回文数概念:
回文数指从左向右、从右向左都是一样的整数。
如:343,232,898,123321都是回文;
221,987,456,98765都不是回文数。

代码如下:

#include<stdio.h>
bool huiwenshu(long int x)   //回文数判断函数
{
    long int s,y=0;
    s=x;
    while(s>0)
    {
        y=y*10+s%10;
        s=s/10;  
    }
    if(y==x)
        return true;   //是回文数则返回1
    else
        return false;  //不是回文数则返回0
}
int main()
{
    long int number;  
    scanf("%d",&number);
    bool flag = huiwenshu(number);
    printf("%d\n",flag);
}

将number定义为long int 型或long long int 型都可提交成功,定义为int型会溢出。
运行结果:
是回文数则输出1,不是则为0。

更多推荐

用C语言实现回文数