水仙花数n位c语言程序,水仙花数C语言的

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

fluzipvcjq

2014.05.23

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:56%    等级:8

已帮助:164人

既然是输入三位数N,就不要数组了,用数组,你的意图是让其代替输入数据的吧

1、手工输入数据情况

void f(int x)

{

int d1,d2,d3;

d1=x/100;

d2=(x%100)/10;

d3=x%10;

if(x==d1*d1*d1+d2*d2*d2+d3*d3*d3)

printf("YES

");

else

printf("NO

");

}

int main(){

int x;

scanf("%d",&x);

while(x!=0)

{

f(x);

scanf("%d",&x);

}

return 0;

}

2、测试数据不是手工输入,而是由数组提供

void f(int x)

{

int d1,d2,d3;

d1=x/100;

d2=(x%100)/10;

d3=x%10;

if(x==d1*d1*d1+d2*d2*d2+d3*d3*d3)

printf("YES

");

else

printf("NO

");

}

//打印所有的水仙花数

int main()

{

int i;

int j=0;

int a[900];

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

a[j++]=i; //把所有的三位数都存储到数组a里,以备他用

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

f(a[j]);

return 0;

}

其实,就是为了让你练习使用数组,否则可以不用数组,如下

int main()

{

int i;

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

f(i);

return 0;

}

呵呵,这么麻烦的问题,才10分啊!

00分享举报

THE END
< <上一篇
下一篇>>