#include
int main()
{
int i,m,sum,n;
sum=0;
printf("水仙花数:\n");
for(i=100;i<1000;i++)
{
n=i;
do
{
m=n%10;
n=n/10;
sum=sum+mmm;
}while(n/10!=0);
if(sum==i)
printf("%d",i);
}
return 0;
}
n%10可能会是小数而不是0,导致无限循环
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=999;i>=100;i--)
{
a=i%10;b=(i/10)%10;c=(i/100)%10;
if (i==a*a*a+b*b*b+c*c*c)
printf("%d ",i);
}
return 0;
}
水仙花都是3位数,可以这样写