水仙花数四种输出方法总结
##适用于Dev c++中编译运行
/*使用for循环输出
#include<stdio.h>
int main(void){
int a,b,c,d;
for(a=100;a<1000;a++) /*a为所要寻找的三位数,b为百位,c为十位,d为个位*/
{
b=a/100;
c=(a-b*100)/10;
d=a%10;
if(b*b*b+c*c*c+d*d*d==a){
printf("%d\n",a);
}
}
return 0;
}
/*使用do-while方式输出
#include<stdio.h>
int main(void){
int a,b,c,d; /*a为所要寻找的三位数,b为百位,c为十位,d为个位*/
a=100;
do{
b=a/100;
c=a/10%10;
d=a%10;
if(b*b*b+c*c*c+d*d*d==a){
printf("%d\n",a);
}
a=a+1;/*a++*/
}while(a<1000);
return 0;
}
/*使用while方式输出
#include<stdio.h>
int main(void){
int a,b,c,d; //a为三位数
a=100;
while(a<1000){
b=a/100;
c=(a-b*100)/10;
d=a%10;
if(b*b*b+c*c*c+d*d*d==a)
printf("%d\n",a);
a++;
}
return 0;
}
/*使用loop-goto语句输出
#include<stdio.h>
int main(void){
int a,b,c,d; /*a为所要寻找的三位数,b为百位,c为十位,d为个位*/
a=100;
loop:
b=a/100;
c=a/10%10;
d=a%10;
if(b*b*b+c*c*c+d*d*d==a)
printf("%d\n",a);
a=a+1;/*a++*/
if(a<1000)
goto loop;
return 0;
}