c语言:调用函数fun判断一个三位数是否“水仙花数”。在main函数中从键盘输入一个三位数,并输出判断结果。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153等于1的立方加上5的立方加上3的立方之和。
时间: 2024-05-01 20:20:17 浏览: 21
下面是实现该功能的C语言代码:
```c
#include <stdio.h>
int fun(int n);
int main()
{
int n;
printf("请输入一个三位数:");
scanf("%d", &n);
if(fun(n))
printf("%d是水仙花数\n", n);
else
printf("%d不是水仙花数\n", n);
return 0;
}
int fun(int n)
{
int a, b, c;
a = n / 100; // 获取百位数字
b = (n / 10) % 10; // 获取十位数字
c = n % 10; // 获取个位数字
if(n == a*a*a + b*b*b + c*c*c) // 判断是否为水仙花数
return 1;
else
return 0;
}
```
运行结果示例:
```
请输入一个三位数:153
153是水仙花数
```
相关问题
功能:调用函数fun判断-个三位数是否“水仙花数“。 在main函数中从键盘输入一一个三位数,并输出判断结果。请编写fur函数。 说明:所谓“水仙花数”是指一-3位数, 其各位数字立方和 等于该数本身。 例如: 153是一个水仙花数,因为153=1+125+27。C语言
以下是代码实现:
```c
#include <stdio.h>
int fun(int n) {
int sum = 0;
int temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == n;
}
int main() {
int n;
printf("请输入一个三位数:");
scanf("%d", &n);
if (fun(n)) {
printf("%d是水仙花数\n", n);
} else {
printf("%d不是水仙花数\n", n);
}
return 0;
}
```
首先定义了一个`fun`函数,该函数的参数是一个整数`n`,返回值是一个布尔值,表示`n`是否为水仙花数。在函数中,首先定义了一个变量`sum`用于保存各位数字的立方和,然后使用一个`while`循环,将`n`的各位数字取出来,计算它们的立方和,最后返回`sum`是否等于`n`即可。
在`main`函数中,首先从键盘输入一个三位数`n`,然后调用`fun`函数判断`n`是否是水仙花数,根据返回值输出相应的结果即可。
c语言:设计函数fun,其功能为:判断一个三位数是否"水仙花数",若是,返回1,若不是,返回0。 要求:该数的输入、输出在主函数中完成。
以下是C语言的函数fun的实现:
```c
#include<stdio.h>
#include<math.h>
int fun(int num);
int main()
{
int num;
printf("请输入一个三位数:");
scanf("%d",&num);
if(fun(num)==1)
printf("%d是水仙花数\n",num);
else
printf("%d不是水仙花数\n",num);
return 0;
}
int fun(int num)
{
int sum=0,digit=0,temp=num;
while(temp>0)
{
digit=temp%10;
sum+=pow(digit,3);
temp/=10;
}
if(sum==num)
return 1;
else
return 0;
}
```
函数fun的实现过程是这样的:首先将输入的三位数的每一位数位上的数字分离出来,然后求出这个三位数的各个数位上数字的立方和sum。如果sum等于这个三位数本身,那么就说明这个三位数是水仙花数,返回1,否则返回0。在主函数中,通过调用fun函数来判断输入的数是否是水仙花数,并输出相应结果。