黑马程序员技术交流社区

标题: 手打判断一个三位数是不是水仙花数~~ [打印本页]

作者: 悄然林静    时间: 2016-7-22 00:01
标题: 手打判断一个三位数是不是水仙花数~~
纯手打,求摸头~~
  1. #include <stdio.h>

  2. int num;

  3. void isWaterFlower(int num)
  4. {
  5.     int bai=num/100,shi=(num%100)/10,ge=num%10;
  6.    
  7.     if(num>=100&&num<=999)
  8.     {
  9.         if (bai*bai*bai + shi*shi*shi + ge*ge*ge == bai+shi+ge)
  10.         {
  11.             printf("这个数是水仙花数\n-----------------\n");
  12.         }
  13.         else
  14.         {
  15.             printf("这个数不是水仙花数\n-----------------\n");
  16.         }
  17.     }
  18.     else
  19.     {
  20.         printf("输入的不是三位数。");
  21.     }
  22.    
  23. }

  24. int main()
  25. {
  26.     for(int i=1;1<10;i++)
  27.     {
  28.         printf("请输入一个三位数:\n");
  29.         scanf("%d",&num);
  30.         
  31.         isWaterFlower(num);
  32.         i++;
  33.     }
  34.     return 0;
  35. }
复制代码

作者: gdutyong    时间: 2016-7-22 00:10
不错,很认真
作者: wjk930726    时间: 2016-7-22 00:19
为何一个如此简单的程序都能打这么长……
作者: hanmaoChen    时间: 2016-7-22 00:38
为什么判断一个数,主函数用了for循环了9次呢?
作者: wc88212    时间: 2016-7-22 11:02
题主,此题你运行过了么......有个地方错了,自己找找,顺便放上我闷骚版的代码,求不要打脸......
  1. #include <stdio.h>

  2. int num;

  3. void isWaterFlower(int num)
  4. {
  5.     int bai=num/100,shi=(num%100)/10,ge=num%10;
  6.    
  7.     num>=100&&num<=999?((bai*bai*bai + shi*shi*shi + ge*ge*ge == num)?printf("这个数是水仙花数\n-----------------\n"):printf("这个数不是水仙花数\n-----------------\n")):printf("输入的不是三位数。");
  8. }

  9. int main()
  10. {
  11.     for(int i=1;1<10;i++)
  12.     {
  13.         printf("请输入一个三位数:\n");
  14.         scanf("%d",&num);
  15.         
  16.         isWaterFlower(num);
  17.         i++;
  18.     }
  19.     return 0;
  20. }
复制代码

作者: haochengjian    时间: 2016-7-22 22:11
基础班视频,学过
作者: 悄然林静    时间: 2016-7-23 22:52
hanmaoChen 发表于 2016-7-22 00:38
为什么判断一个数,主函数用了for循环了9次呢?

不是运行了9次,1<10永远成立的,循环判断完一次之后,继续等待下一个输入。
这个条件也可以不写的
作者: 悄然林静    时间: 2016-7-23 22:57
wc88212 发表于 2016-7-22 11:02
题主,此题你运行过了么......有个地方错了,自己找找,顺便放上我闷骚版的代码,求不要打脸......
...

运行了没问题啊,检查代码没找到问题点,能方便指点一下吗?
作者: Michalel_yan    时间: 2016-7-23 23:44
不错,加油!
作者: wc88212    时间: 2016-7-26 23:07
悄然林静 发表于 2016-7-23 22:57
运行了没问题啊,检查代码没找到问题点,能方便指点一下吗?

同学,bai*bai*bai+shi*shi*shi+ge*ge*ge == bai + soi + ge   153是水仙花数,你拿你代码运行并键入153看看对不对=.=要运行哦,么么哒




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