首先我们先说一下什么是水仙花数:水仙花数是一个三位数其各位数字的立方和等于该数本身。例如:3^3 + 7^3+ 0^3 = 370
代码:这个是100到1000的秋水鲜花代码#include<stdio.h>
int main()
{
int a,b,c,sum;
printf(“100到1000的秋水仙花:”);
for(int i=100;i<=999;i++){
a=i/100; //求百位数
b=i%100/10; //求十位数
c=i%10; //求个位数
sum=aaa+bbb+ccc;
if(sumi)printf("%4d",i);
}
return 0;
}
这个是1到n的秋水鲜花代码:#include<stdio.h>
int main()
{
int a,b,sum;
int i=0,n;
scanf("%d",&n);
printf(“0到%d的秋水仙花:”,n);
while(i<n){
a=i;
sum=0;
do
{
b=a;
a=a/10;
b%=10;
sum+=bbb;
}while(a!=0);
if(sumi)printf("%4d",i);
i++;
}
return 0;
}
分析:首先b是求最后一位数的值,而a是每次都去掉最后一位数的值。因为a是int整形,所以a/10一定还是整数,比如int(5.4)会变成5循环控制条件是:当a不等0的时候就继续执行。比如155,b就等于5,a就负责把5去掉模仿运行: i=155,a=155,b=5, a=15,sum=25 b=5,a=1,sum=50
b=1,a=0,sum=51结束
想了解更多,可以关注公众号"程序员快速修炼"