鱼C论坛

 找回密码
 立即注册
查看: 1336|回复: 6

[已解决]c语言水仙花数

[复制链接]
发表于 2020-12-22 10:50:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int n,x,y,z;//x是百位数,y是十位数,z是个位数
  5.         printf("请输出100-999的水仙花数:\n");
  6.         for(n=100;n<1000;n++)
  7.         {
  8.                 x=n/100;
  9.                 y=(n-100)/10;
  10.                 z=n%10;
  11.                 if(n==x*x*x+y*y*y+z*z*z)
  12.                 {
  13.                         printf("%d",n);
  14.                
  15.                 }
  16.        
  17.         }       
  18.         return 0;
  19. }
复制代码



亲爱的广大网友们帮我看看哪里错了,100-999的水仙花数有4个数,可运行出来只有1个数,紧急帮我看看

谢谢你们啦^_^
最佳答案
2020-12-22 10:59:30
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int n, x, y, z;//x是百位数,y是十位数,z是个位数
  5.         printf("请输出100-999的水仙花数:\n");
  6.         for (n = 100; n < 1000; n++)
  7.         {
  8.                 x = n / 100;  
  9.                 y = (n - x*100) / 10;  //这里错了,加个x*100就好了
  10.                 z = n % 10;
  11.                 if (n == x * x * x + y * y * y + z * z * z)
  12.                 {
  13.                         printf("%d\n", n);

  14.                 }

  15.         }
  16.         return 0;
  17. }
复制代码
微信图片_20201222104711.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-22 10:59:30 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int n, x, y, z;//x是百位数,y是十位数,z是个位数
  5.         printf("请输出100-999的水仙花数:\n");
  6.         for (n = 100; n < 1000; n++)
  7.         {
  8.                 x = n / 100;  
  9.                 y = (n - x*100) / 10;  //这里错了,加个x*100就好了
  10.                 z = n % 10;
  11.                 if (n == x * x * x + y * y * y + z * z * z)
  12.                 {
  13.                         printf("%d\n", n);

  14.                 }

  15.         }
  16.         return 0;
  17. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 11:01:11 | 显示全部楼层
n-x*100再除以十才能得到十位数

解决了记得给个最佳
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-22 11:03:51 | 显示全部楼层

对哄!我一直拿153做检验,谢谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 11:04:30 | 显示全部楼层
Cathy-Chen258 发表于 2020-12-22 11:03
对哄!我一直拿153做检验,谢谢啦

小问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-22 11:04:54 | 显示全部楼层
      这一句错了
  1.                 y=(n-100)/10;
复制代码

      改为
  1.                 y = (n % 100) / 10 ;
复制代码

     或者
  1.                 y = (n / 10) % 10 ;
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-12-22 11:10:21 | 显示全部楼层
十位数求错了, y=n/10%10;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-7 12:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表