#include <stdio.h>
#include <math.h>
int main()
{
int i=0;
for(i=100;i<=1000;i++)//求100到1000内的水仙花数
{
int n=1;
int temp=i;
int sum=0;
int num=0;
while(temp/=10)//计算temp是几位数
{
n++;
}
num=n;
temp=i;//因为前面进行计算temp是几位数时,已将将原本的i改变,所以需要重新赋值
while(num--)
{
sum+=(int)pow(temp%10,n);//pow函数需要调用math.h头文件,完成的作用是返回temp%10所得到的值进行的n次方
temp/=10;//没算完一位消除一位
}
if(sum==i)//当sum等于i时则时水仙花数
{
printf("i= %d\n",i);
}
}
return 0;
}