2.定义函数判断水仙花数

/*
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;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值