c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。
2016-05-29 13:34
405 查看
方法一:
#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
#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
相关文章推荐
- c语言:使用main函数的参数,实现一个整数计算器
- c语言:有一个分数序列: 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和
- c语言:一个球从 100 米高的自由落下,每次落地后反跳回原高度的一半
- c语言:猴子吃桃问题
- c语言:求n!从1到20的和
- c语言:求1/n!从1到20的和
- c语言:不使用(a+b)/2这种方式,求两个数的平均值。
- c语言:一组数据中只有一个数字出现了一次。(使用位运算)
- C语言:设置自动关机程序:2分钟之后关机,请输入\&quot;我好帅\&quot;三个字解除\n&quot;
- C语言:在屏幕上输出信息
- C语言:求两个整数之和
- c语言:2种方法;求两个整数之中的较大者
- c语言:4种方法;交换两个整数的位置(包括引入第三方变量和不引入第三方变量)
- c语言:给十个整数比较大小
- 熟悉一下C语言中的const
- C++实验6-矩阵求和
- C++基础<01>—C++初识
- 一道关于重载的例子
- #define st(x) do { x } while (__LINE__ == -1)及“\”分析
- dev C/C++运行结果一闪而过的解决