绿色圃中小学教育网

求水仙花数的c语言程序用do while

[原创]
导读 水仙花数,即一个三位数的各个位上的数字的立方和等于该数本身的。绿色圃中小学教育网百科专栏,提供全方位全领域的生活知识

水仙花数,即一个三位数的各个位上的数字的立方和等于该数本身的数,是数学中的一个经典问题。比如,153就是一个水仙花数,因为1³+5³+3³=153。

现在,我们来编写一个用C语言计算水仙花数的程序,采用do-while循环结构。

首先,我们需要定义一个变量n作为我们要检测的数,取值范围为100到999之间的整数。同时,定义三个变量a、b、c,分别表示n的百位、十位和个位数字。

然后,我们可以采用do-while循环,从100到999之间遍历每个数,判断它是否为水仙花数。

在循环中,首先将n分解为三个数字a、b、c,然后分别计算它们的立方和,并判断它们是否等于n。如果相等,则输出n,表示它是一个水仙花数。

下面是完整的程序代码:

```

#include

int main()

{

int n, a, b, c;

n = 100;

do {

a = n / 100;

b = (n / 10) % 10;

c = n % 10;

if (a*a*a + b*b*b + c*c*c == n) {

printf('%d\n', n);

}

n++;

} while (n <= 999);

return 0;

}

```

运行程序,就可以得到所有的水仙花数。这个程序采用了do-while循环结构,保证了每个数都被遍历到,并且它的代码比较简洁。