maini()
{int i,j,k,n;
printf("水仙花数是:");
for(n=100;n<1000;n++)
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%4d",n);
}
printf("\n");
}
#include
main()
{
int a,b,c,sum;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{sum=a*100+b*10+c;
if(a*a*a+b*b*b+c*c*c==sum)
printf("%d\n",sum;}
}
这个比较简单~只是循环多了些:)计算机负荷比较大
用数组会好些
153 370 371 407
#include
#include
main()
{
int a,s=0,d=0,i=1,z;
clrscr();
scanf("%d",&a);
z=a;
if(a>999||a<100)
printf("%d bu shi san wei shu",a);
else for(i=1;i<=3;)
{
s=a%10;
a=a/10;
d+=s*s*s;
i++;
}
switch(d==z)
{case 0:printf("%d bu shi shui xian hua shu",z);break;
case 1:printf("%d shi shui xian hua shu",z);break;
default:printf("have question");
}
getch();
}
#include
void main(){
int n,m,a,b,c;//a b c用来提取n的百位 十位 个位的数
for(n=100;n<1000;n++){
m=n;
a=m/100;m=m%100;
b=m/10;c=m%10;
if(a*a*a+b*b*b+c*c*c==n) printf("%d\t",n);
}
}
for(int i=100;i<999;i++)
{
int a = i/100;
int b = i/10-(i/100)*10;
int c = i%10;
if(a*a*a+b*b*b+c*c*c == i)
printf("%d ",i);
}