https://baike.baidu.com/item/%E6%B0%B4%E4%BB%99%E8%8A%B1%E6%95%B0/2746160
#include <stdio.h> #include <math.h> //两种方法: //第一:100-999专门判断 1000-9999专门判断 10000专门判断 main() { int b,c=0,d,shu[10],f,g=0,a,e; float sum=0; for(a=100;a<=1000;a++) { for(e=0;e<10;e++) shu[e]=0; e=0; f=0; b=a;//每次开始判断一个数,先保存这个数,因为a是循环变量,在判断过程中尽量不要改变 while(b)//只要b不是0 就来回判断 { shu[e]=b%10; //得到现在个位 b=b/10;//将原来的十位变成个位,来回做 e++; } c=e; for(e=0;e<=c;e++) f=f+pow(shu[e],c); if(f==a)printf("%d ",a),sum=sum+a; if(g==e) printf("\n"); g=e; } printf("\n水仙花数的和=%d",sum); getchar(); }
标签:位自幂,E6%,C语言,数及,100,include From: https://www.cnblogs.com/xkdn/p/16943712.html