gpt4 book ai didi

c - C语言打印Armstrong Number时缺少407

转载 作者:太空狗 更新时间:2023-10-29 15:23:57 28 4
gpt4 key购买 nike

我使用 Code::Block 10.02,当在 C 中打印 Amstrong Number 时,我等待这样的结果:

153
370
371
407

但这只是打印:

153
370
371

这是我在 C 中的代码:

#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{

int a,b,c;
for (a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{
if(pow(a,3)+pow(b,3)+pow(c,3)==100*a+10*b+c)
printf("\n%d%d%d",a,b,c);
}

}

这是我的屏幕:http://daynhauhoc.com/uploads/default/3011/9598a2ad2183198f.png

但是,当我使用这段代码时,它工作得很好:

#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{

int a,b,c;
for (a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{
int d=pow(a,3)+pow(b,3)+pow(c,3);
int e=100*a+10*b+c;
if(d==e)
printf("\n%d%d%d",a,b,c);
}

}

谁能告诉我一个解释?

最佳答案

哦,我知道为什么了!!你使用 pow(a,3)+pow(b,3)+pow(c,3)==100*a+10*b+c 但是 pow() return double 你用==判断float和integer是否相同。不要在整数和 float 之间使用 ==!=!

关于c - C语言打印Armstrong Number时缺少407,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30101701/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com