Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2508503
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2011-04-02 11:30:44

    有这个一类数字,他们顺着看和倒着看是相同的数字。例如:121,656,2332等,这样的数字叫做回文数字。编写一个程序,判断从键盘中输入的数字是否为回文数字。
    判断回文数字,就是将一个数字,正着计算和倒着计算时,数字的值是相等的,因此需要编写一个函数,计算出数字的回文数字。而一个回文数字的,我们使用的求余运算,然后每次循环乘以10.以获得回文数字。代码如下:
  1. #include <string.h>
  2. #include <stdio.h>

  3. int isCircle(int n);
  4. int reverse(int i);

  5. int main(int argc, char *argv[])
  6. {
  7.   int n;
  8.   printf("please input a interget judging is circle:\n");
  9.   scanf("%d",&n);
  10.   if(isCircle(n))
  11.     printf("%d is circle\n",n);
  12.   else
  13.     printf("%d is not circle\n",n);

  14.   return 0;
  15. }

  16. int isCircle(int n)
  17. {
  18.   int m;
  19.   m = reverse(n);
  20.   if(m == n)
  21.     return 1;
  22.   else
  23.     return 0;
  24. }

  25. int reverse(int i)
  26. {
  27.   int m,j = 0;
  28.   m = i;
  29.   while(m)
  30.   {
  31.     j = j*10 + m%10;
  32.     m = m/10;
  33.   }

  34.   return j;
  35. }
peng@ubuntu:~/src/test/c/suanfa/miaoqu$ ./5.6
please input a interget judging is circle:
12
12 is not circle
peng@ubuntu:~/src/test/c/suanfa/miaoqu$ ./5.6
please input a interget judging is circle:
121
121 is circle

阅读(3140) | 评论(0) | 转发(0) |
0

上一篇:百钱买百鸡问题

下一篇:填数字游戏求解

给主人留下些什么吧!~~