绿色圃中小学教育网

判断水仙花数c语言程序函数

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

水仙花数是指一个三位数,它的每个位上的数字的立方之和等于它本身。比如153是一个水仙花数,因为1的立方加上5的立方加上3的立方等于153。现在我们需要编写一个C语言程序函数来判断一个三位数是否是水仙花数。

首先,我们需要明确函数的输入和输出。函数的输入是一个整数,代表要判断的三位数。输出是一个布尔值,如果是水仙花数,则返回true,否则返回false。

其次,我们需要考虑如何判断一个三位数是否是水仙花数。可以通过分离出每个位上的数字,然后计算它们的立方和来实现。具体步骤如下:

1. 将输入的三位数分离出每个位上的数字,可以分别使用除法和取模运算来实现,如下所示:

```c

int digit1 = num / 100; // 取出百位上的数字

int digit2 = (num / 10) % 10; // 取出十位上的数字

int digit3 = num % 10; // 取出个位上的数字

```

2. 计算每个位上数字的立方和,然后将它们相加,如下所示:

```c

int sum = digit1*digit1*digit1 + digit2*digit2*digit2 + digit3*digit3*digit3;

```

3. 判断计算出来的和是否等于输入的三位数,如果相等则是水仙花数,否则不是。

```c

if (sum == num) {

return true; // 是水仙花数

} else {

return false; // 不是水仙花数

}

```

最后,将以上步骤组合成一个完整的C语言函数,如下所示:

```c

bool isNarcissistic(int num) {

int digit1 = num / 100;

int digit2 = (num / 10) % 10;

int digit3 = num % 10;

int sum = digit1*digit1*digit1 + digit2*digit2*digit2 + digit3*digit3*digit3;

if (sum == num) {

return true;

} else {

return false;

}

}

```

这个函数可以用来判断任意一个三位数是否是水仙花数,如果是则返回true,否则返回false。