A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qq6937523 中级黑马   /  2016-4-1 08:58  /  939 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /**
  2. *  如果一个整数从左/右来读都是一样的,则成为回文式数比如101 32123 999
  3. 回数猜想:任取一个数再把它倒过来,并把这两个数相加.然后把这个和数再倒过来,与原和数相加,重复此过程,一定能获得一个回数.

  4. *编程 输入任意整数 按上述方法产生一个回数,为方便起见,最多计算7步,看是否能得到一个回数.
  5. 要求  显示该数与其倒数之和,输出每一步计算步骤

  6. *
  7. */

  8. #include <stdio.h>
  9. #include <math.h>
  10. int Daoshu(int n);
  11. int main()
  12. {
  13.     //定义一个变量存储输入的整数
  14.      int number = 0;
  15.     //定义一个变量存储输入整数的倒数
  16.     int dNumber = 0;
  17.    
  18.     //提示输入一个整数
  19.     printf("请输入一个正整数:\n");
  20.     scanf("%d",&number);
  21.     //最多7步  看能否得到一个回数
  22.     for (int i =0 ;i < 7 ;i++)
  23.     {
  24.     //通过函数计算 得到倒数
  25.    
  26.     dNumber = Daoshu(number);
  27.         
  28.         //判断是不是回数
  29.         //如果这个数跟他的倒数相同 那么这个数就是回文数
  30.         if (number == dNumber)
  31.         {
  32.             printf("经过%d步的计算,%d这个数是回数\n",i,number);
  33.             break;
  34.         }
  35.         else
  36.         {
  37.             int a = number;
  38.             number = number + dNumber;
  39.             printf("第%d步,得到数字是%d,倒数是%d,和是%d\n",i+1,a,dNumber,number);
  40.         }
  41.    
  42.         if (i == 6)
  43.         {
  44.             printf("经过7步计算 没有得到回文数字\n");
  45.         }
  46.     }
  47.   
  48.     return 0;
  49. }


  50. int Daoshu(int n)
  51. {
  52.     int num = n;
  53.     int i ;
  54.    
  55.     //判读这个数的位数
  56.     for ( i = 1; ; i++)
  57.     {
  58.         num = num /10;
  59.         if (!num)
  60.         {
  61.             break;
  62.         }
  63.         
  64.     }
  65.    
  66.     //重置num的数值
  67.     num = n;
  68.     //清空n的数值
  69.     n = 0;
  70.     //得到倒数
  71.     for (int j = i-1; j >= 0; j--)
  72.     {
  73.         n += (num % 10)*(int)((int)pow(10.0, j));
  74.         num = num / 10;
  75.     }
  76.     return n;
  77. }
复制代码



1 个回复

倒序浏览
牛犇犇啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马