C语言:求解水仙花数的函数实现384


什么是水仙花数?

水仙花数,又称阿姆斯壮数,是指一个多位数,它的每一位数字的立方和等于该数本身。例如,153是一个水仙花数,因为 1³ + 5³ + 3³ = 153。

C语言求解水仙花数函数

以下是用C语言实现求解水仙花数函数的代码:```c
#include
int is_narcissistic(int number) {
int sum = 0;
int temp = number;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == number;
}
int main() {
int number;
printf("请输入一个数字:");
scanf("%d", &number);
if (is_narcissistic(number)) {
printf("%d 是一个水仙花数。", number);
} else {
printf("%d 不是一个水仙花数。", number);
}
return 0;
}
```

函数实现详解

该函数有以下几个主要部分:* 求每一位数字的立方:使用了一个循环不断地将数字的末尾数字(% 10)乘以 3 并加到 sum 中。
* 更新数字:循环后,将数字除以 10(/ 10),移除末尾数字。
* 判断是否为水仙花数:如果 sum 等于 number,则表明该数是水仙花数。否则,该数不是水仙花数。

使用示例

以下是如何使用该函数的示例:```
请输入一个数字:153
153 是一个水仙花数。
```
```
请输入一个数字:123
123 不是一个水仙花数。
```

2025-02-01


上一篇:C语言编写显示星期几函数的终极指南

下一篇:在 C 语言中输出数组的全面指南