编写程序,从键盘上输入一个三位整数,用函数判断该数是否为“水仙花”数。提示:“水仙花”数是指一个100-999之间的整数,其每位上的数字立方和等于该数本身。例如,整数153=13+53+33,则153是一个“水仙花数”。 函数原型声明 int shuiXianHua( int x );
时间: 2024-02-15 19:01:20 浏览: 66
好的,下面是一个判断是否为“水仙花数”的程序实现:
```c
#include <stdio.h>
int shuiXianHua(int x);
int main() {
int num;
printf("请输入一个三位整数:");
scanf("%d", &num);
if (shuiXianHua(num)) {
printf("%d 是一个水仙花数\n", num);
} else {
printf("%d 不是一个水仙花数\n", num);
}
return 0;
}
int shuiXianHua(int x) {
int a, b, c;
a = x / 100; // 百位数
b = (x / 10) % 10; // 十位数
c = x % 10; // 个位数
if (x == a * a * a + b * b * b + c * c * c) {
return 1; // 是水仙花数
} else {
return 0; // 不是水仙花数
}
}
```
在这个实现中,我们定义了一个名为`shuiXianHua`的函数,该函数接收一个整数参数`x`,并返回一个整数结果。在函数内部,我们首先分别计算出该数的百位数、十位数和个位数,然后判断它们的立方和是否等于该数本身,如果是,则返回1,否则返回0。在主函数中,我们首先读入一个三位数,然后调用`shuiXianHua`函数进行判断,并输出结果。
阅读全文