#include stdio.h
int main()
{
int start, end, i = 0, a, b, c, size = 0;
for (i = start; i = end; i++)
a = i / 100;
b = i / 10 % 10;
c = i % 10;
if ((a*a*a + b*b*b + c*c*c) == i)? //满足水仙花条件
if (size == 0)? ?//size=0输出第一个水仙花数
printf("%d", i);
}
else? ? ?//size++输出第二..第n个水仙花数
printf(" %d", i);
size++;? ?//个数++;
if (size == 0)? ?//范围内个数为0,则说明没有满足条件的
printf("no");
printf("\n");
return 0;
扩展资料:
需要注意的地方:
①将n整除以100,得出n在百位上的数字hun.
参考资料:
百度百科-水仙花数
方法:先弄懂什么是水仙花数::
刚写的:调试过了
int main(void)
int a,b,c,d;
system("cls");
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
printf("%d%d%d%d\n",a,b,c,d);
getch();
或者这样:
下面是完整的C语言编程代码:
运行结果:
扩展资料
常见水仙花数
水仙花数又称阿姆斯特朗数.
参考资料:百度百科:水仙花数
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number).
常见水仙花数:
以上内容参考:百度百科-水仙花数
int fun(int a,int b)
int i,m,n,k,count=0;
if(ab)
for(i=b;i=a;i++)
m=i/100;
n=(i0)/10;
k=i;
if(i==((m*m*m)+(n*n*n)+(k*k*k)))
count+=1;
printf("%d\n",i);
else if(ab)
for(i=a;i=b;i++)
if(i==(m*m*m)+(n*n*n)+(k*k*k))
else
m=a/100;
n=(a0)/10;
k=a;
if(a==(m*m*m)+(n*n*n)+(k*k*k))
count=1;
printf("%d\n",a);
printf("%d\n",count);
void main()
int a,b;
printf("请输入要查找的区间端点(三位数以内):");
scanf("%d%d",a,b);
fun(a,b);
不知道是不是你要的~~~
代码如下:
printf("输出水仙花数:\n");
int i=100;
for( ; i1000; i++){
int num_0 = i;
int num_1 = i/10;
printf("%d\t", i);
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身.
百度百科——水仙花数