您的位置:首页 > 编程语言 > C语言/C++

c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。

2015-11-18 01:19 351 查看
方法一:
#include <stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数:",n);
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n ",n);
}
return 0;
}

输出结果:
水仙花数:153
370
371
407
Press any key to continue
方法二:
#include <stdio.h>
#include <math.h>
int main()
{
int i,m,sum;
for(i=100;i<1000;i++)
{
sum=0;
m=i;
do
{
sum=sum+pow(m%10,3);//pow(a,b)是指a的b次幂是double型的
m=m/10;
}
while(m!=0);
if(sum==i)
printf("%d ",i);
}
printf("\n");
return 0;
}
运行结果:
153 370 371 407

Press any key to continue
方法三:
#include <stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数:",n);
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i*100)/10;
k=n-i*100-j*10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d\n ",n);
}
return 0;
}
结果:
水仙花数:153
370
371
407

Press any key to continue

本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1713857
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: