如何用c语言判断一个数是回文数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用c语言判断一个数是回文数相关的知识,希望对你有一定的参考价值。

#include<stdio.h>

bool isPalindromeNumber(const int *digits)

bool yes = false;
int temp = *digits, counter = 0;

while (temp>0)

counter = counter * 10 + temp % 10;
temp /= 10;


if (counter == *digits) yes = true;

return yes;


int main()

int num = 1251;
int const * digits = &num;

if (isPalindromeNumber(digits)) printf("%d是回文数\\n",*digits);
else  printf("%d不是回文数\\n", *digits);

num = 121;
if (isPalindromeNumber(digits)) printf("%d是回文数\\n", *digits);
else  printf("%d不是回文数\\n", *digits);

return 0;

参考技术A #include<stdio.h>
void main() int x,y,k;
scanf("%d",&x); k=x; y=0; while ( k ) y*=10; y+=k%10; k/=10;
if ( x==y ) printf("是回文数。\n"); else printf("不是回文数。\n");
参考技术B #include <stdio.h>
int main()

int num, temp;
int sum=0;
printf("Please input a number:");
scanf("%d", &num);
temp=num;
while(num)

sum = sum*10 + num%10;
num /= 10;

if(temp == sum)
printf("yes\n");
else
printf("no\n");
return 0;
参考技术C 最简单的方法
通过sprintf转为字符串
然后判断字符串是否回文

代码你自己写一下
如果不对 再传上来给你改。

C语言判断一个数是不是回文数

所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,例如12321。判断给出的整数是否是回文数;若是,则输出该整数各位数字之和;否则输出该数不是一个回文数。

原理大致为:任何一个数除以10的余数就是该数最后一位;任何一个数除以10的商就是排除掉最后一位后的数;所以 ,一个数1234 就可以通过这种方法得到 123 和 4;接下来对 123 进行同样的操作,就得到 12 和 3;接下来得到 1 和 2;接着得到 0 和 1;整个过程是个循环,当商不是 0 的时候就一直如此;每次拿到一个余数,都用来构造新数,新数=新数*10+余数;所以经过四次循环后,我们得到新数 4321 ,如果是回文,那么新数应该等于原数,否则,说明不是回文。

以上是关于如何用c语言判断一个数是回文数的主要内容,如果未能解决你的问题,请参考以下文章

如何用c语言编程判断一个数是否素数?

C语言怎么判断一个数是不是是回文数?

如何用C语言判断一个数是不是为递增数

用C语言判断一个数是不是是回文数(不用循环语句)

C语言:判断一个数是不是为回文数,要求如下:

如何用编程 任意输入3个数判断能否构成三角形?