回文数的判断(C语言实现)
(2010-11-09 02:03:25)
标签:
回文数c语言it |
分类: 软件编程 |
“回文数“是一种数字。如:98789,
这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数。
判断一个整数是否是回文数的方法不止一种,最容易想到的一种方法就是:
把整数转换成字符串,然后依次判断字符串前后对称位置的字符是否相等,如果全都相等,则表示该整数是回文数,否则不然。
然而,还有一种更为简洁点的方法则是:
通过对整数的计算,得到该整数的反序整数(最低位变成最高位),判断两者是否相等,是则表示该整数是回文数,否则不然。
以下给出了这种简洁判断方法的C语言代码实例,如下:
--------代码开始--------
#include <stdio.h>
#include <stdlib.h>
int IsHuiWenShu( int );
int main( int argc, char* argv[] )
{
int
num;
int ret =
0;
while ( 1
)
{
printf(
"Please input an interage number:\n" );
scanf( "%d",
&num );
if ( num ==
-100 )
{
printf( "You
input %d, so exit.\n", num );
break;
}
ret =
IsHuiWenShu( num );
if ( ret ==
0 )
{
printf( "The
number %d is not huiwenshu.\n", num );
}
else
{
printf( "The
number %d is huiwenshu.\n", num );
}
}
return
0;
}
int IsHuiWenShu( int number )
{
int res =
0;
int n =
number;
if ( n
< 0 )
{
return
0;
}
do
{
res = res *
10 + n % 10;
n = n /
10;
} while ( n
);
if ( res ==
number )
{
return
1;
}
return
0;
}
--------代码结束--------
判断一个整数是否是回文数的方法不止一种,最容易想到的一种方法就是:
把整数转换成字符串,然后依次判断字符串前后对称位置的字符是否相等,如果全都相等,则表示该整数是回文数,否则不然。
然而,还有一种更为简洁点的方法则是:
通过对整数的计算,得到该整数的反序整数(最低位变成最高位),判断两者是否相等,是则表示该整数是回文数,否则不然。
以下给出了这种简洁判断方法的C语言代码实例,如下:
--------代码开始--------
#include <stdio.h>
#include <stdlib.h>
int IsHuiWenShu( int );
int main( int argc, char* argv[] )
{
}
int IsHuiWenShu( int number )
{
}
--------代码结束--------
前一篇:回想过去一年,你还记得点什么
后一篇:漂泊的人,心也跟着流浪