水仙花数c语言程序while
时间: 2024-11-02 18:07:05 浏览: 23
水仙花数c语言程序.docx
水仙花数是指那些每一位数字的立方和等于原数本身的正整数,例如153(1^3 + 5^3 + 3^3 = 153)。在C语言中,我们可以编写一个while循环来检查某个数是否为水仙花数。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <math.h>
// 函数用于计算一个数的各位立方和
int sumOfCubes(int num) {
int sum = 0;
while (num != 0) {
int digit = num % 10; // 取最后一位
sum += pow(digit, 3); // 立方并累加
num /= 10; // 移除最后一位
}
return sum;
}
// 主函数判断给定的数是否是水仙花数
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (sumOfCubes(num) == num) {
printf("%d 是水仙花数。\n", num);
} else {
printf("%d 不是水仙花数。\n", num);
}
return 0;
}
```
在这个程序中,`sumOfCubes`函数通过while循环获取输入数的每一位,计算其立方后累加到`sum`,然后移除最低位。主函数中,我们首先读取用户输入,然后调用这个函数来检查它是否为水仙花数。
阅读全文