《水仙花数C语言.docx》由会员分享,可在线阅读,更多相关《水仙花数C语言.docx(1页珍藏版)》请在三一办公上搜索。
水仙花数C语言水仙花数意思是一个三位数m,特点: m=a3+b3+c3 其中a为m的百位数,b为m的十位数,c为m的个位数, 如 m=371 则有 a 为 3 b 为 7 c 为 1 a,b,c如何求? a为m的百位数: 首先把m的小数点后移两位,用m/100就可以了吧 b为m的十位数: 如何求十位?利用刚刚求出的百位数a,将m简化为一个十位数m-a*100 比如:371-3*100=71 这样再求这个十位数7就好求了。仍然利用小数点前移然后求整 fix(71/10) 就求出 b=fix(7.1)=7 c为m的个位: 跟求b一样利用先前求出的a与b,将m的十位,百位都减去就OK啦 这样,a与b与c就都有了 如果 m 满足这样的条件 m=a3+b3+c3 则 m为一个水仙花数m不是一个水仙花数 程序: #include void main int a,b,c,i; for(i=0;i=999;i+) a=i/100; b=i%100/10; c=i%10; if(a*100+b*10+c=a*a*a+b*b*b+c*c*c) printf(%dn,i) ; 输出m 否则