C语言:如何判断回文数

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

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

首先,我们来判断一下一个数是否为回文数

C语言:如何判断回文数_第1张图片

 C语言:如何判断回文数_第2张图片

 C语言:如何判断回文数_第3张图片

#define _CRT_SECURE_NO_WARNINGS
#include 

int main()
{
	int x = 0;
	int i = 0;
	int y = 0;
	scanf("%d", &y);
	x = y;
	while (x > 0)
	{
		i = i * 10 + x%10;
		x /= 10;
	}
	if (i == y)
	{
		printf("true");
	}
	else
	{
		printf("false");
	}
	return 0;
}

 这只是其中的一条思路,当然还有许多其他的方法,这条代码仅供参考。

你可能感兴趣的:(c语言,c语言)