任务和代码:编制isPalindrome(),用于判断参数是否是回文数——回文数,即从前往后读和从后往前读都一样的数,如1221和121都是回文数,而1231、123都不是回文数。isPalindrome()函数的返回值是int型,是回文返回1(真),不是回文,返回0(假)。
/*
文件名:main.c
作者:小风景
完成日期:2016.6.21
问题描述:编制isPalindrome(),用于判断参数是否是回文数——回文数,即从前往后读和从后往前读都一样的数,如1221和121都是回文数,而1231、123都不是回文数。isPalindrome()函数的返回值是int型,是回文返回1(真),不是回文,返回0(假)。
程序输出:一个数是否是回文数
*/
#include<stdio.h>
int isPalindrome(int x);
int main()
{
int m;
scanf("%d", &m);
if(isPalindrome(m))
printf("%d是回文数,噢耶!\n", m);
else
printf("%d不是回文数。回文有什么好!\n", m);
return 0;
}
int isPalindrome(int x) //在这个函数中只管判断,不能出现printf语句!
{
int result = 0;
int sum = x;
while(x != 0)
{
result = result * 10;
result += x % 10;
x = x / 10;
}
if(result == sum)
{
return 1;
}
else
{
return 0;
}
}
总结:回文数的编程与反序数的函数基本雷同,只需要在反序数的基础上加上倒叙后的数与传入参数判断是都相等,如相等则为反序数。