abcABC_123

有一种数字比较特别,称为“水仙花数”,这样的数是指:该数是3 位数,其各位数字的
立方和等于该数本身。例如,153 就是一个水仙花数,因为 153=1~+5*+3°。
请编写程序,打印出所有的水仙花数。
提示:如果要判断某个三位数 number 是否为水仙花数,可以这样判断:
假设该三位数的个位数为 a,十位数为 b,百位数为 c.
a=number%10;
b=
;(请思考,并在空白处填写合适的内容)
c=number/100;
如果 number-a'+b'+e',則该数就是水仙花数。
如果希望将所有的水仙花数打出来,则需要使用循环来按照以上提示依次判断从 100~
999 的每个数是否为水仙花数。
请分别用循环的三种结构来编写程序:while 结构、do-while 结构、for 结构。

供参考:

#include <stdio.h>
int main()
{
    int a, b, c;
    int i;
    for (i = 100; i <= 999; 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;
}



#include <stdio.h>
int main()
{
    int i = 100, n, k, s;
    while (i < 1000) {
        n = i; s = 0;
        while (n) {
            k = n % 10;
            s += k * k * k;
            n /= 10;
        }
        if (s == i)
            printf("%d\n", i);
        i++;
    }
    return 0;
}


#include <stdio.h>
int main()
{
    int i = 100, n, k, s;
    do{
        n = i; s = 0;
        while (n) {
            k = n % 10;
            s += k * k * k;
            n /= 10;
        }
        if (s == i)
            printf("%d\n", i);
        i++;
    } while (i < 1000);
    return 0;
}