从键盘上scanf输入一个整数,判断输出是否水仙花数(c语言)
时间: 2024-09-14 20:10:45 浏览: 60
使用C语言判断输入的数字是否是水仙花数
水仙花数,也被称为阿姆斯特朗数(Armstrong number),是指一个n位数,其各位数字的n次方和等于该数本身。对于一个三位数而言,水仙花数是指一个三位数,它的每个位上的数字的立方之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
在C语言中,我们可以使用`scanf`函数从键盘接收一个整数输入,然后进行判断该数是否为水仙花数。下面是一个实现这一功能的示例代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("请输入一个整数:");
scanf("%d", &num);
originalNum = num;
while (originalNum != 0) {
// 取当前最后一位数字
remainder = originalNum % 10;
// 将最后一位数字的三次方加到result中
result += pow(remainder, 3);
// 去掉最后一位数字
originalNum /= 10;
}
// 判断结果是否为水仙花数
if (result == num)
printf("%d 是水仙花数。\n", num);
else
printf("%d 不是水仙花数。\n", num);
return 0;
}
```
这段代码首先提示用户输入一个整数,然后计算这个整数每位上数字的三次方之和,并判断这个和是否等于原始输入的整数,从而确定输入的整数是否为水仙花数。
阅读全文