用while语句写成代码怎么写呀求解

输出所有的"水仙花数",所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153=1立方+5立方+3立方

#include <iostream>
using namespace std;

//判断是否是水仙花
int isSxh(int n)
{
    int s = 0;
    int a = n;
    int d = 0;
    while(a>0)
    {
        int d = a%10;
        s += (d*d*d);
        a = a/10;
    }
    if(s == n)
        return 1;
    else
        return 0;
}

int main()
{
    int i=00;
    while(i<=999)
    {
        if(isSxh(i))
        {
            if(i==100)
                cout << i ;
            else
                cout << " " << i;
        }
        i++;
    }
    return 0;
}
一个循环可以写完。
可以将数n=1000作为循环终止条件,在循环内部n++
水仙花数的计算思路就是计算n的个十百三位数字,求他们的立方和,如果立方和等于n,则打印当前n
设a,b,c为n的个十百三位,a=n%10,b=n/10%10,c=n/100%10。
自己组合一下这些试试看