C语言取位数练习之求“水仙花数”

最近表弟开学了,我还在家里,不开心!
所以想着继续写一下以前的c语言常见的问题,复习一下,也方便以后在网络上搜索的朋友可以看见,以便交流学习。
今天讲一下水仙花数这个问题:打印出所有的水仙花数。(水仙花数是指一个三位数,其各位数字立方和等于该数)
分析:主要是判断这个数是不是水仙花数,求出百十个位,然后判断,符合各位数立方和等于自身然后就可以输出了。
上代码:

#include<stdio.h>
int main()
{  
int i,a,b,c;//i表示100到1000之内的数,a,b,c分别代表百十个位 
printf("以下是所有的水仙花数:\n");
for (i=100;i<1000;i++)//for循环的具体介绍和用法在上一节有讲到,还不太熟悉的朋友可以点进我主页去C语言分栏看一下。 
	{
		a=i/100;
		b=(i%100)/10;
		c=i%10;
		/*这个取百十个的方法大家不熟悉的可以记一下,以后经常会遇到*/
		if(i==a*a*a+b*b*b+c*c*c)
		printf("%d ",i); //如果符合各位数立方和等于自身然后就可以输出了。
	}
	return 0;
}

运行展示:
在这里插入图片描述
好了,这个水仙花问题也就解决了,相对来说比较简单。同样的道理,我们也可以去解决三位数拆分输出,以及其他各种符合某种特征数的输出。谢谢大家的阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值