C语言:输出100-999中所有水仙花数。

2024-12-01 15:05:17
推荐回答(5个)
回答(1):

//输出水仙花

voidNarcissusNumber()

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

{

intsum=0;

inttemp=i;

intrem;

for(intj=0;j<3;j++)

{rem=temp%10;

temp/=10;

sum+=rem*rem*rem;

}if(sum==i)

{

printf("尺乎祥%d\n",i);

}

}

}

扩展资料

C语言:输出9*9口诀

#include"陵搏顷蔽stdio.h"

main()

{

inti,j,result;

printf("\n");

for(i=1;i<10;i++)

{for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/

}

printf("\n");/*每一行后换行*/

}

}

回答(2):

在100-999之间的三位数ABC,满足A³+B³+C³=ABC,就称ABC为水仙花数。

根据你的描述和提供的代码橘蔽,只需要对输出的结果进行换行即可,修改后的代码如下:

#include

int main()

{

int i,a,b,c;

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

{

a=i/100;

b=i/10%10;

c=i%10;

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

printf("%d is a daffodil number.\n", i);

}

return 0;

}

程序运行结果:

扩展资料:

除了上面使用的C语言实现外,常用的实现语言还羡慎有;

ALGOL代码圆派州实现“水仙花数”:

begin

integer i,j,k;

for i := 1 step 1 until 9 do

for j := 0 step 1 until 9 do

for k := 0 step 1 until 9 do

if i×i×i + j×j×j + k×k×k = 100×i + 10×j + k then

print (100×i + 10×j + k);

end

PHP代码实现“水仙花数”:

//使用系统自带函数,即可实现幂运算,何必画蛇添足,自己写函数

functionis_narcissistic($n)

{

$hundreds=floor($n/100);//分解出百位

$tens=floor($n/10)%10;//分解出十位

$ones=floor($n%10);//分解出个位

return(bool)(pow($hundreds,3)+pow($tens,3)+pow($ones,3)==$n);

}

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

{

if(is_narcissistic($i))

echo$i."\n";

}

die();

?>

参考资料:百度百科-水仙花数

回答(3):

    水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。判断一个数是否为水仙花数需要拆分数位,求幂再相加。不过这道题限定了范围,都是三位数,所以可以使用3重循环分别代表3个数位,这样就省去了拆分的腔手搏麻伍祥烦。

    代码如下:

#include 

int main()
{
int i, j, k, sum;

sum = 0;

for (i = 1; i < 10; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
if ((i*i*i + j*j*j + k*k*k) == (i*100 + j*10 + k))
             薯滑               printf("%d\n", i*100 + j*10 + k);

return 0;
}

回答(4):

C语言档旦经典或孝案例之行团扰水仙花数

回答(5):

printf("培码滑%d is a 配腊daffodil number.\n", i); // <-- 加个 模迟\n