c语言求一个三位数各位数立方之和(用函数实现),并判断该数是否为水仙花数
时间: 2024-03-08 15:50:25 浏览: 110
好的,这是一个比较简单的题目,以下是实现代码:
```c
#include <stdio.h>
#include <math.h>
// 计算三位数各位数立方之和
int cubeSum(int num) {
int sum = 0;
while (num) {
int digit = num % 10;
sum += pow(digit, 3);
num /= 10;
}
return sum;
}
// 判断是否为水仙花数
int isNarcissisticNumber(int num) {
int sum = cubeSum(num);
return sum == num;
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (num >= 100 && num <= 999) {
printf("各位数立方之和为:%d\n", cubeSum(num));
if (isNarcissisticNumber(num)) {
printf("%d是水仙花数\n", num);
} else {
printf("%d不是水仙花数\n", num);
}
} else {
printf("输入不合法\n");
}
return 0;
}
```
其中,`cubeSum`函数用于计算三位数各位数立方之和,`isNarcissisticNumber`函数用于判断是否为水仙花数。在`main`函数中,我们先通过`scanf`函数输入一个三位数,再判断是否在范围内,最后输出结果。
阅读全文