C语言水仙花数算法

#include<stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数是:");
for(n=100;n<=999;n++)
{
i=n/100;
j=n%100/10;
k=n%10;
if(n=i*i*i+j*j*j+k*k*k)
printf("%d",n);
printf(" ");
}
return 0;}
哪里出错了呀!求解

#include<stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数是:");
for(n=100;n<=999;n++)
{
i=n/100;
j=n%100/10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)//=改为==
//printf("%d",n);
//printf(" ");//以上两句合并为下面这一句,否则会有大量空格
printf("%d ",n);
}
return 0;}

追问

合并之前的两句和下面的那一句是一样的吗?为什么会有大量空格呢

追答

当然不一样了。按你的程序,如果是水仙花数,那么输出水仙花数,然后输出空格如果不是水仙花数,输出空格。就是说对于每个i,不管是不是水仙花数,都会输出一个空格,总共输出900个空格。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答