c的小问题(2个)

来源:百度知道 编辑:UC知道 时间:2024/05/15 06:58:34
#include <stdio.h>
void main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
c=i%10;
b=(i%100-c)/10;
if(i=a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
}
我想找水仙花数,按道理运行时输出的都应该是3位数,可是结果为
"1 8 729 370 371 378 1099".而且没有153.
问题2:
#include <stdio.h>
void main()
{
int i; float a,max;
scanf("%f",&a);
max=a;
for(i=1;i<=9;++i)
{
scanf("%f",&a);
if(a>=max)
max=a;
}
printf("max=%f",max);
}
为什么运行时结果为"max=0"(问题2很关键拜托讲详细一点)

if(i=a*a*a+b*b*b+c*c*c) 注意条件:i==a*a*a+b*b*b+c*c*c
应该是== 你太粗心了 ,你应该知道=和==有什么不一样
第二题 正确 我这里正确的输出了

第二个没有问题啊。我这里运行很正常。

第一个我不知道啥叫水仙花数,不过if(i==a*a*a+b*b*b+c*c*c)才行啊,是==,不是=。