#include <stdio.h>
int main(){
int a[3]={1, 0, 0}, num, sum=0;
printf("100-1000之间的水仙花数\n\n");
while (a[0]<10){
num=a[0]*100+a[1]*10+a[2];
if (num==1000) break;
if (a[2]==10){
a[1] += 1;
a[2] = 0;
}
if (a[1]==10){
a[0] += 1;
a[1] = 0;
}
if (num == pow(a[0],3)+pow(a[1],3)+pow(a[2],3)){
sum += 1;
printf("第%d个水仙花数为: %d\n", sum, num);
}
a[2]++;
}
printf("\n共有 %d 个水仙花数", sum);
}
通过数组及索引来产生循环, 避免直接以num循环来求位, (虽然说更麻烦了, 但是感觉很好玩)
大佬不喜勿喷