判断回文数字

 

题目要求:

有这样一类数字,它们顺着看和倒着看是相同的数,例如121、656、2332等,这样的数字叫做回文数字。编写一个程序,判断从键盘接收的数字是否为回文数字。

题目分析:

要想判断一个数是否是回文数字,必须从回文数字的特点入手。因为回文数字顺着看和倒着看是相同的数,所以可以通过这个特点来判断一个数字是否是回文数字。

显然可以通过将一个十进制数"倒置"的办法来判断它是否是回文数字。所谓倒置就是计算该十进制数倒过来后的结果。例如一个数是123,它的倒置结果为321,因为123不等于321,所以123不是回文数字。同理,一个数是121,它的倒置结果也为121,所以121是回文数字。

C语言版本:

#include <stdio.h>
int isHuiWen(int n);  
int reverse(int n);   
void main(void) {
 int n;
 printf("inupt a Integer Number to judging is a huiwen Number!\n");
 scanf("%d",&n);
 if (isHuiWen(n)) {
  printf("%d is a huiwen number!\n",n);
 } else {
  printf("%d is not a huiwen number!\n",n);
 }
}
// 判断是否是回文数字 (返回值:0不是、1 是)
int isHuiWen(int n) {
 int i;
 i = reverse(n);
 if (i == n) {
  return 1;
 } else {
  return 0;
 }
}
// 求n的倒置数 (比如1234的倒置数为4321)
int reverse(int n) {
 int i,j=0;
 i = n;
 while (i) {
  j = j*10 + i % 10;
  i = i / 10;
 }
 return j;
}

版权声明:本文为love_Sophie原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。