c语言程序求解,各位

输出所有的水仙花数。水仙花数是指一个3位数,各位数字的立方和等
于该数本身,例如153=13+53+33。

供参考:

#include <stdio.h>
#include<math.h>
int main()
{
    int i, ge, shi, bai, a, cnt = 0;
    for (i = 100; i < 1000; i++)
    {
        ge = i % 10;
        shi = (i/10) % 10;
        bai = i / 100;
        a = ge*ge*ge + shi*shi*shi + bai*bai*bai;
        if (a == i)
            printf(cnt++==0?"所有水仙花数为:\n%d":" %d", i);
    }
    return 0;
}