C语言 判断回文数

一,回文数概念 

“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数。

设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数。

二,判断回文数实现

思路一:数组与字符串

将数字每一位按顺序放进数组或者字符串中,通过数组或者字符串的元素判断

数组版本:

//判断回文数,是返回1,否返回0
int is_palidrome(int num)
{
	int count = 0;
	int temp = num;
	//记录num位数
	while (temp)
	{
		count++;
		temp /= 10;
	}
	//创建count个int字节大小的空间
	int* nums = (int*)malloc(sizeof(int) * count);
	int i = 0;
	//将num每一位数字放入数组中
	for (i = 0; i < count; i++)
	{
		nums[count - 1 - i] = num % 10;
		num /= 10;
	}
	//遍历数组判断
	for (i = 0; i < count; i++)
	{
		if (nums[i] == nums[count - 1 - i])
		{
			continue;
		}
		else
		{
			return 0;
		}
	}

	return 

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