我使用了两个函数来实现这个结果
#include <stdio.h>
#include <math.h>
int judge(int x)
{
int n = 0;
int num=x;
int sum = 0;
while (num!=0)
{ num /= 10;
n++;
}
num=x;
while (num!=0)
{
sum += pow(num % 10, n);
num /= 10;
}
if (x == sum)
printf("%d ", x);
return 0;
}
int sort(int a,int b)
{
int i;
for (i = a; i <= b; i++)
judge(i);
return 0;
}
int main()
{
int x ;int a; int b;
printf("请输入区间\n");
scanf("%d%d", &a,&b);
printf("该区间内的水仙花数有:");
sort(a,b);
return 0;
}
执行结果如下: