好奇怪,為什么沒有153呢
#include <stdio.h>
int main()
{
??? //定義三位數num,個位數sd,十位數td,百位數hd
??? int num, sd, td, hd;
??? //循環所有三位數
??? for( num=100 ;num<1000?? ;num++? )
??? {
??????? //獲取三位數字num百位上的數字
??????? hd =num/100???????? ;
??????? //獲取三位數字num十位上的數字
??????? td =(num/10)/10???????? ;
??????? //獲取三位數字num個位上的數字
??????? sd =num%10???????? ;
??????? //水仙花數的條件是什么?
??????? if(num == hd * hd * hd + td* td*td + sd *sd *sd )
??????? {
??????????? printf("水仙花數字:%d\n", num);???
??????? }
??? }
??? return 0;???
}
2015-11-05
因為td=(num/10)/10這行代碼邏輯錯了,這樣獲取到的值是百位上的數,不是十位上的數
應該改為td = (num/10) % 10