最近表弟开学了,我还在家里,不开心!
所以想着继续写一下以前的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;
}
运行展示:
好了,这个水仙花问题也就解决了,相对来说比较简单。同样的道理,我们也可以去解决三位数拆分输出,以及其他各种符合某种特征数的输出。谢谢大家的阅读!