黑马程序员技术交流社区

标题: 水仙花数搞笑输出 [打印本页]

作者: XiaoBaoMi    时间: 2015-6-20 16:13
标题: 水仙花数搞笑输出
  1. #include <stdio.h>

  2. int main() {
  3.     printf("这是一个输出100-1000水仙花数的程序\n");
  4.     /*个位,十位,百位*/
  5.     int theUnit = 0, decade = 0, hundreds = 0;
  6.     /*中间参数*/
  7.     int middles = 0;
  8.     for(int i = 100;i < 9000;i++){
  9.         /*提取个位*/
  10.         theUnit = i % 10;
  11.         middles = i / 10;
  12.         /*提取十位*/
  13.         decade = middles % 10;
  14.         /*提取百位*/
  15.         hundreds = middles / 10;
  16.         if((theUnit * theUnit * theUnit) + (decade * decade * decade) + (hundreds * hundreds * hundreds)     == i){
  17.             printf("你抓到了一个水仙花数:%d\n",i);
  18.         
  19.         }
  20.     }
  21.     return 0;
  22. }
复制代码



输出是
153
370
371
407
1000
1001

为什么会有1000和1001?

作者: 晗修    时间: 2015-6-20 16:46
循环的范围错了 是100~1000 写成了100~9000
作者: 丁铭检    时间: 2015-6-20 18:21
同上。。
作者: XiaoBaoMi    时间: 2015-6-20 18:29
说得对 谢谢楼上指点
作者: chaoyueshan    时间: 2015-6-20 18:49
嗯嗯啊  还好
作者: 马贺飞    时间: 2015-6-21 23:35
围观学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2