c语言水仙花数

#include<stdio.h>
int main()
{int i,a=i/100,
b=(i%100)/10,
c=i%10;
for(i=100;i<=999;i++)

if(i==a*a*a+b*b*b+c*c*c)break;
printf("%d is right\n",i);
return 0;
}菜鸟求解
为什么错了

第1个回答  2019-03-01
//小白写程序
//题目:“水仙花数”是一个3位数,其各位数字立方和等于该数本身。

#include <stdio.h>

int main()
{
    int f;                    //设置水仙花的数量
    int b, t, a;               //分别设置百位,十位,各位
    
    for(f = 100; f < 1000; i++)
    {
        b = f / 100;            //得到百位
        t = f / 10 % 10;        //得到十位
        a = f % 10;             //得到各位
        
        if(f == b*b*b + t*t*t + a*a*a)    //判断是否符合条件语句
            printf("flowes is %d\n", f);
    }
    return 0;
}

第2个回答  2019-12-22
想用神预言者一个程序来计算出比较好看的水仙花类型的数据,就需要借助逻辑运算。
第3个回答  推荐于2017-10-01
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if((a*a*a+b*b*b+c*c*c)==i)
printf("%d\n",i);
}
return(0);
}
这是打印1000以内的水仙华数,希望对您有帮助。
夏本回答被提问者采纳
第4个回答  2012-03-29
把for循环放在你那些定义的前面。。。

一开始就定义a = i /100的话i因为没有初值那么a就是个任意的数,只有放在循环里你的abc才会有意义表示成个位十位百位
第5个回答  2012-03-29
哥们你的程序太乱了啊 我把你的程序改了 跟你的思路是一样的
#include<stdio.h>
int main()
{int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d is right\n",i);
}
return 0;
}
相似回答