求水仙花数的程序哪里错了

img

img


我刚接触c语言不熟悉,请问这个写水仙花数的程序,为什么我输出不来了数据,是哪里错了吗,希望有人能帮助我

X除以都等于0了还比较什么?肯定不可能相等。

...
for (int i = 100; i <=999; i++) 
{ 
x = i; 
do {
...

【相关推荐】



  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7787266
  • 这篇博客你也可以参考下:从键盘输入一个三位整型数据,判断是否为水仙花数
  • 除此之外, 这篇博客: 【C语言上机练习题目-代码+运行结果】中的 4.5 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本书。例如,153是一水仙花数,因为 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    在这里插入图片描述

    • 源代码
    # include <stdio.h>
    # include <math.h>
     int main ( )
     {
    
    int m,n,i,a,b,c,l,j=1;
    int w[900] = {0};
    
     printf("******************************************************************************\n\n");
     printf("                           打印出所有的“水仙花数”\n");
     printf("******************************************************************************\n\n");
    
    
     while (j==1)
     {
    
     printf("\n请输入检录是否水仙花的区间的值:\t");
     scanf("%d%d",&m,&n);
    
     for (i = m;i<=n;i++) //对数组进行赋值
    	 w[i-m] = i;
     l = n-m+1;
    
     for(i=0;i<l;i++)
     {
    	 a = w[i]/100;     //取百位
    	 b = w[i]%100/10;   //取十位
    	 c  =w[i]%10;       //取个位
    	 if(w[i]==a*a*a+b*b*b+c*c*c )
    	 printf("%d\t",w[i]);
    	
     }
    
    
      printf("\n\n******************************************************************************\n\n");
     
     printf("\nBREAK(0) CONTINUE (1):\t");
    	scanf("%d",&j);
     }
    
    
     return 0;
    
    
    
     }
    
    
    
    • 运行结果
      在这里插入图片描述



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^