C语言编程问题,初学者,不太会,谢谢

分别用while,for,和do while语句实现以下功能:打印出所有的“水仙花数”。所谓的“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

第1个回答  2020-05-28

#include "stdio.h"

int main()

{

int i,a=0,b=0,c=0;

for(i=100;i<1000;i++)

{

a=i/100;

b=i%100/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

printf("%d ",i);

}

printf("\n");


i=100;

while(i<1000)

{

a=i/100;

b=i%100/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

printf("%d ",i);

i++;

}

printf("\n");


i=100;

do 

{

a=i/100;

b=i%100/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

printf("%d ",i);

i++;

} while (i<1000);

printf("\n");

return 0;

}

本回答被网友采纳