/*
1.需求:
定义一个函数判断一个数是否为"水仙花数"
2.名词解析:
所谓"水仙花数"是指这样的一个数:
首先是一个三位数
其次,其各位数字的立方和等于该数本身。
例如:371是一个"水仙花数",371=3^3+7^3+1^3.
3.分析:
1.定义三个变量分别保存百位 十位 个位
2.让用户任意输入一个三位数
3.判断该数是否满足其各位数字的立方和等于该数本身
4.如果满足则返回该数,否则返回0
4.单词释义:
daffodil 水仙花
triple-digit 三位数
5.Author:OKfine
Time:1/30/2019.
*/
#include<stdio.h>
#define CUBE(d) (d * d * d)
#define HUNDREDS(n) ((n) / 100) //百位
#define TENS(n) ((n) / 10 % 10) //十位
#define UNITS(n) ((n) % 10) //个位
int check_daffodil(int num);//申明判断是否为水仙花数的函数
int main()
{
int n;//定义n保存返回的值
int m;//定义一个变量保存用户输入的三位数
printf("please input triple-digit number: ");
scanf("%d", &m);//用户输入一个三位数m
if (n = check_daffodil(m))
printf("%d is daffodil\n", n);
else
printf("%d is not daffodil\n", m);
return 0;
}
int check_daffodil(int num)//定义判断是否为水仙花数的函数
{
if (num == CUBE(HUNDREDS(num)) + CUBE(TENS(num)) + CUBE(UNITS(num)))
return num;
else
return 0;
}
2.定义函数判断水仙花数
最新推荐文章于 2025-05-16 23:42:26 发布