for循環(huán)4—9練習(xí)題
輸出所有水仙花數(shù)字。
所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù),如:153就是一個(gè)水仙花數(shù),153=1*1*1+5*5*5+3*3*3。
在代碼編輯器中:
第7、10、12、14、16行完善代碼
#include <stdio.h>
int main()
{
? ? //定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數(shù)
? ? for(num=100;num<1000;num++)
? ? {
? ? ? ? //獲取三位數(shù)字num百位上的數(shù)字
? ? ? ? hd =num/100;
? ? ? ? //獲取三位數(shù)字num十位上的數(shù)字
? ? ? ? td =(num%100)/10;
? ? ? ? //獲取三位數(shù)字num個(gè)位上的數(shù)字
? ? ? ? sd =num%10;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd) ? ? ? ? ? ? ? ? ? ??
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num); ? ?
? ? ? ? }
? ? }
? ? return 0; ? ?
}
sd =(num-hd*100-td*10)\10;這么寫為什么不行?
2016-12-07
可以寫成:sd =(num-hd*100-td*10),代入一個(gè)任意數(shù)501,sd=(501-5*100-0*100)=1。如果再/10就錯(cuò)了,得不到個(gè)位數(shù)了。忘采納!