如何用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 = #
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语言判断一个数是回文数的主要内容,如果未能解决你的问题,请参考以下文章