//水仙花数
#include<stdio.h>
#include<math.h>
int main()
{
//123= 1 2 3;先分解
//三位数 100-1000 10的2次方 10的3次方
//123;
int N,k,i,t;
int sum=0;
printf("请输入位数N");
scanf("%d",&N);
for(i=pow(10,N-1);i<pow(10,N);i++)//确定范围
{
t=i;//一定要找个代替他的量
while(t>0)
{
k=t%10;//3 2 1
t=t/10;//12 1 0
sum=pow(k,N)+sum;
}
if(sum==i)
{
printf("%d ",sum);
sum=0;
}else{
sum=0;//不管成没成功 走出一轮循环后都得让sum=0
}
}
return 0;
}
这个主要是利用了 math.h库中的 pow(x,y)函数 即X的Y次方