简单等级leetcode~回文数C语言版

题目描述:

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例

输入: 121
输出: true

C语言答题模板

bool isPalindrome(int x) {

}

解答

由于C语言中没有布尔类型,所以我们要自己定义stdbool.h头文件并导入程序中
stdbool.h头文件如下:

#ifndef __STDBOOL_H
#define __STDBOOL_H

typedef enum{
    false = 0,
    true = !false,
}bool;
#endif

然后把该文件放入安装路径的XXXX\VC98\Include中即可

完整代码

#include 
#include 

bool isPalindrome(int x) 
{
    int temp,k;
    k = x;
    temp = 0;
    if(x<=0)
       return false;
    while(x)
    {
       temp = temp*10 + x%10;
       x = x /10;
    }
    
    if(k==temp)
       return true;
    else
       return false;
} 

int main()
{
    int m;
    

    scanf("%d",&m);

    if(isPalindrome(m))
    
       printf("%d是回文数\n",m);
    
    else
      printf("%d不是回文数\n",m);
    return 0;
}

另一种方式就是先判断出该整数的位数,然后再接着判断第一位和最后一位是否相同,第二位和倒数第二位是否相同........

#include 
#include 

bool isPalindrome(int x) 
{
    int a[10];
    int i,j;
    i=0;

    if(x<0)
       return false;

    while(x)
    {
       a[i] = x%10;
       x = x/10;
       i++;
    }

    for(j=0;j

你可能感兴趣的:(简单等级leetcode~回文数C语言版)