永发信息网

C语言 求水仙花数

答案:6  悬赏:30  手机版
解决时间 2021-05-16 11:08
  • 提问者网友:刺鸟
  • 2021-05-15 23:58

求水仙花数 帮忙看看我的程序有没有问题吧

不知道是不是程序问题就是运算不出来

运行后没有任何结果

一#include <stdio.h>
void main()
{int n=100,i,j,k;
printf("水仙花数是:");
while(n<1000)
{i=n/100;
j=(n/10)%10;
k=n%10;
if (n==i*i*i+j*j*j+k*k*k)
printf("%d\n",n);}
n=n+1;
}

二#include<stdio.h>
main()
{int i,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;
b=i/10-a*100;
c=i-b*10-a*100;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
}

最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-05-16 01:00

第一:


#include <stdio.h>
void main()
{
int n=100,i,j,k;
printf("水仙花数是:");
while(n<1000)
{
i=n/100;
j=(n/10)%10;
k=n%10;
if (n==i*i*i+j*j*j+k*k*k)
printf("%d\n",n);
n=n+1; //放到循环内部自增
}

}


第二种:变量b和c得到的是一个负数!

全部回答
  • 1楼网友:西风乍起
  • 2021-05-16 05:47

#include<stdio.h>

main() {

int i,j,k; for( i=0;i<10;i++) for( j=0;j<10;j++) for( k=1;k<10;k++) if(i*i*i+j*j*j+k*k*k==i+10*j+100*k) printf("%d",i+10*j+100*k); }

  • 2楼网友:爱难随人意
  • 2021-05-16 04:21

第一给少个右大括号

我把我以前写的发出来,希望能给楼主有所帮助

#include <math.h> int main(void) { int i=100,a,b,c; printf("3位数中的水仙花数为:"); for(;i<=999;i++) { a=i/100; b=(i/10)%10; c=i%10; if(pow(a,3)+pow(b,3)+pow(c,3)==i) printf("%d\t",i); } getchar(); getchar(); return 0; }

  • 3楼网友:野慌
  • 2021-05-16 03:47

#include "stdio.h" #include "math.h" int main(void)

{ int i; for(i=100;i<=999;i++) { if(i==pow((i/100%10),3)+pow((i/10%10),3)+pow((i%10),3)) printf("%d\n",i); } }

  • 4楼网友:笑迎怀羞
  • 2021-05-16 03:02
#include<stdio.h> main() {int i,a,b,c; for(i=100;i<=999;i++) {a=i/100; b=(i-a*100)/10 ; c=i-b*10-a*100; if(i==a*a*a+b*b*b+c*c*c) printf("%d\n",i); } getch();

}

改好了。

  • 5楼网友:摆渡翁
  • 2021-05-16 01:34

#include<stdio.h>

void main()

{

int i,j,k;

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

for(j=0;j<10;j++)

for(k=0;k<10;k++)

if((i*i+j*j+k*k)==(i*100+j+8+k))

printf("%i%d%d\n",i,j,k);

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯