利用for循环控制100-999的水仙花数;
#include<stdio.h>
#include<math.h> -------调用pow函数
int main() {
int i;
for (i = 100; i < 999; i++) { //判断是否为自幂数
//1.计算i的位数 --n;
int n = 1;
int tmp = i;
while (tmp / 10) {
n++;
tmp = tmp / 10;
}
//2.计算i的每一位的n次方之和
tmp = i;
int sum = 0;
while (tmp) {
//pow用来求次方数的
sum += pow(tmp % 10, n);
tmp =tmp / 10;
}
//3,判断
if (sum == i) {
printf("The result is :%d\n", i);
}
}
return 0;
}
运行结果如下: