水仙花问题,电脑和手机输出不一样

img

img

img

如题,根本不理解为啥这样,手机和电脑用的是相同代码

#include<stdio.h>
int qwe(int m)
{
int i,o,p;
i=m%10;
o=m/10%10;
p=m/100;
if(iii+ooo+ppp==m)

    return m;

}
int main(void)
{
int a,i,b,count;
for(i=100;i<1000;i++)
{
a=qwe(i);
printf("%d ",a);
count++;
if(count%5==0)
{
printf("\n");
}
}
return 0;
}

逻辑判断有误,修改处见注释,供参考:

#include<stdio.h>
int qwe(int m)
{
    int i,o,p;
    i=m%10;
    o=m/10%10;
    p=m/100;
    //if(i*i*i+o*o*o+p*p*p==m) //修改
     //return m;               //修改
     return (i*i*i+o*o*o+p*p*p == m);//修改
}
int main(void)
{
    int a,i,b,count=0; //修改
    for(i=100;i<1000;i++)
    {
        a=qwe(i);
        if (a){       //修改 a=1,i为水仙花数 ,a = 0时,i 不是水仙花数
            printf("%d ",i); //printf("%d ",a);//修改
            count++;
            if(count%5==0)
            {
                printf("\n");
            }
        }
    }
    return 0;
}

把代码规范之后再做测试,不建议把能省略的花括号省略