c语言水仙花数,一直输出no

问题遇到的现象和发生背景 问题如下

img

问题相关代码,请勿粘贴截图

#include
#include

int main()
{
int n,m,i,a,b,c,x=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=m;i<=n;i++)
{
a=i%10;
b=i%100/10;
c=i/100;
if(i==aaa+bbb+ccc)
{
printf("%d\n",i);
x++;
}
}
if(x==0)
printf("no");

}

return 0;

}

运行结果及报错内容 :无论输入什么值,输出都是no!

m,n输入弄反了
while(scanf("%d%d",&n,&m)!=EOF)
改为
while(scanf("%d%d",&m,&n) == 2)

for(i=m;i<=n;i++)
改为
for(i=n;i<=m;i++)
按照题目意思,n应该小于m吧

修改如下,供参考:

#include <stdio.h>
#include <stdlib.h>
int main()
{
     int n,m,i,a,b,c,x=0;
     while(scanf("%d%d",&n,&m)!=EOF)
     {
         for(i=n,x=0;i<=m;i++) //for(i=m;i<=n;i++) 修改
         {
             a=i%10;
             b=i%100/10;
             c=i/100;
             if(i == a*a*a+b*b*b+c*c*c)
             {
                 printf(x++==0?"%d":" %d",i);
                 //x++; 修改 按题目要求格式输出
             }
         }
         if(x==0)  printf("no");
         printf("\n"); // 修改
     }
     return 0;
}

 

乘号没了?

img