寻找水仙花数c语言pta用函数做
时间: 2024-09-29 20:10:45 浏览: 74
水仙花数c语言程序.docx
水仙花数是一种特殊的三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,我们可以编写一个函数来检查一个整数是否为水仙花数。
下面是一个简单的C语言函数,用于检测输入的整数是否为水仙花数:
```c
#include <stdio.h>
// 函数声明
int is narcissistic(int num);
int main() {
int n;
printf("请输入一个三位数: ");
scanf("%d", &n);
if (is_narcissistic(n)) {
printf("%d 是一个水仙花数。\n", n);
} else {
printf("%d 不是水仙花数。\n", n);
}
return 0;
}
// 检查是否为水仙花数的函数
int is narcissistic(int num) {
int digits[3];
int sum = 0;
// 将数字分解为数组digits
while (num > 0) {
digits[2] = num % 10; // 取最后一位
sum += digits[2] * digits[2] * digits[2]; // 立方和
num /= 10; // 移除最后一位
}
// 数字已分解完成,判断是否相等
return sum == num;
}
```
在这个程序中,`is_narcissistic`函数接收一个整数作为参数,计算它的各个位立方和并与原数比较。如果相等,则返回`1`表示是水仙花数;如果不等,则返回`0`。
阅读全文