demo15:C语言的一些小练习题7.

demo15:C语言的一些小练习题7.,第1张

demo15:C语言的一些小练习题7.

7.用函数实现求水仙花数:一个三位数它的每一位数字的立方和等于该数本身 (eg:3^3+7^3+0^3=370)

代码如下:

#include   
bool Get_FlowerNum(int num){
	int a=0,b=0,c=0;//370/100=3  370-3*100=70 70/10=7 70-7*10=0
	a=num/100;
	num=num-a*100; //会导致原来的num值发生变化!!! 
	b=num/10;
	c=num-b*10;
	int sum=(a*a*a)+(b*b*b)+(c*c*c);
	num=a*100+b*10+c*1; //先让num=原来传进来要判断的值再判断 
	if(num==sum){
		return true;
	}
	return false;
}
int main(){
	int num=0;
	printf("请输入一个三位数:n");
	scanf("%d",&num);
	if(Get_FlowerNum(num)){
		printf("%d是水仙花数!n",num);
	}
	else printf("%d不是水仙花数!n",num);
	return 0;
}

代码实现如下:

ps:严格的讲,水仙花数只能为三位数! 

附加题:输出100到1000的水仙花数

代码如下:(在上一个代码稍作修改即可)

#include
bool Get_FlowerNum(int num){
	int a=num/100;
	num=num-a*100;
	int b=num/10;
	int c=num-b*10;
	int sum=a*a*a+b*b*b+c*c*c;
	num=a*100+b*10+c;
	if(num==sum){
		return true;
	}
	else return false;
}
int main(){
	int i=0;
	for(i=100;i<1000;i++){
		if(Get_FlowerNum(i)){
			printf("%d是水仙花数!n",i);
		}
	}
	return 0;
}

代码实现如下:

 以上即是所有的水仙花数。

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4949575.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存