水仙花数是指一个3位数,它的每一位上的数字的3次幂之和等于它本身(例如:13 + 53+ 33 = 153)。编程实现:输入一个整数n,如果是一个三位数,判断是不是水仙花数。用c语言
时间: 2024-03-23 09:38:00 浏览: 161
水仙花数,也称为阿姆斯特朗数,是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身 例如,153 是
好的,可以使用以下代码实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n, sum = 0;
printf("请输入一个三位数:");
scanf("%d", &n);
if (n < 100 || n > 999) {
printf("输入的不是一个三位数!\n");
return 0;
}
int temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
if (sum == n) {
printf("%d 是水仙花数!\n", n);
} else {
printf("%d 不是水仙花数!\n", n);
}
return 0;
}
```
程序首先读取一个三位数,如果不是三位数则输出错误信息并退出程序。然后程序计算该数字的每一位上的数字的3次幂之和,最后判断该和是否等于输入的三位数,如果相等则输出该数字是水仙花数,否则输出该数字不是水仙花数。
阅读全文