所谓水仙花数(也称自幂数、自恋数、阿姆斯特朗数),它是一个 3 位数,其每位数字的 3 次幂之和等于它本身。 请编写函数,判断水仙花数。 函数原型 int IsNarc(int x); c语言说明:参数 x 是任意自然数。若 x 是水仙花数,则函数值为 1 (真),否则为 0 (假)。
时间: 2024-02-22 21:56:15 浏览: 207
水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:$1^3+5^3+3^3=153$。请编写程序求出100到999之间的所有水仙花数。代码
好的,我来帮您写一个C语言的判断水仙花数的函数:
```c
#include <stdio.h>
int IsNarc(int x)
{
int sum = 0;
int temp = x;
while(temp > 0)
{
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if(sum == x)
return 1;
else
return 0;
}
int main()
{
int num;
scanf("%d", &num);
if(IsNarc(num))
printf("%d是水仙花数", num);
else
printf("%d不是水仙花数", num);
return 0;
}
```
这个函数接受一个整数参数x,然后在函数内部计算x的每一位数字的立方和,最后与x比较,如果相等则是水仙花数,返回1,否则返回0。在主函数中我们可以调用这个函数来判断一个数是否是水仙花数。
阅读全文