栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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;
}

代码实现如下:

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

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384546.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号