花水仙花数的 C 语言实现22


在数学中,花水仙花数是指一个 n 位数,其各个位上的数字的 n 次幂之和等于该数本身。例如,153 是一个花水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

C 语言程序

以下是用 C 语言实现的花水仙花数程序:```c
#include
#include
int main() {
int num, originalNum, remainder, n = 0, result = 0;
printf("请输入一个正整数: ");
scanf("%d", &num);
originalNum = num;
// 计算位数
while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;
// 计算各个位上的数字的 n 次幂之和
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
// 检查是否是花水仙花数
if (result == num) {
printf("%d 是一个花水仙花数。", num);
} else {
printf("%d 不是一个花水仙花数。", num);
}
return 0;
}
```

程序说明

这个程序首先从用户获取一个正整数。然后,它计算该数的位数并存储在变量 n 中。接下来,它将该数的副本存储在变量 originalNum 中,以便进行后续处理。

接着,程序进入一个循环,不断地求出该数的余数并将其添加到 result 中。余数是通过将该数除以 10 得到的。每一步,程序还将该数除以 10,从而有效地移除它的最后一个数字。

循环结束后,程序检查 result 是否等于 num。如果是,则打印 num 是一个花水仙花数。否则,它打印 num 不是一个花水仙花数。

程序示例

以下是一些程序示例:
输入: 153
输出: 153 是一个花水仙花数。


输入: 1234
输出: 1234 不是一个花水仙花数。


输入: 407
输出: 407 是一个花水仙花数。

2024-10-23


上一篇:C 语言函数:全面指南

下一篇:自定义函数——赋能 C 语言的强大功能