水仙花数在 C 语言中的判定与输出45


简介水仙花数,又称自恋数,是一个具有以下特殊性质的正整数:其各位数字立方和等于该数本身。例如,153 是一个水仙花数,因为 1³ + 5³ + 3³ = 153。

C 语言中的判定算法在 C 语言中,我们可以使用循环来判定一个数是否为水仙花数。以下算法步骤:1. 初始化变量 `num` 为输入的正整数。
2. 初始化变量 `sum` 为 0,用于存储各位数字立方和。
3. 重复以下步骤,直到 `num` 为 0:
- 计算 `num` 的最后一位数字 `digit`,即 `num % 10`。
- 更新 `sum` 为 `sum + digit³`。
- 将 `num` 除以 10,即 `num = num / 10`。
4. 如果 `sum` 等于输入的 `num`,则该数为水仙花数,否则不是水仙花数。

C 语言程序```c
#include
int is_narcissistic(int num) {
int sum = 0;
int digit;
while (num > 0) {
digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
return sum == num;
}
int main() {
int number;
printf("输入一个正整数:");
scanf("%d", &number);
if (is_narcissistic(number)) {
printf("%d 是一个水仙花数。", number);
} else {
printf("%d 不是一个水仙花数。", number);
}
return 0;
}
```

输出水仙花数要输出所有水仙花数,可以在一个循环中遍历所有范围内的正整数,并使用上述算法判定每个数是否为水仙花数。如果该数是水仙花数,则将该数输出到屏幕上。

例子以下是输出范围为 100 到 999 的水仙花数的 C 语言程序:
```c
#include
int main() {
int i;
printf("范围 100 到 999 的水仙花数为:");
for (i = 100; i

2024-10-14


上一篇:C 语言中的符号函数

下一篇:水仙花数的 C 语言实现