想問下為什么輸出只有一個407
#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%100 ;
??????? //水仙花數的條件是什么?
??????? if(num==hd*hd*hd+td*td*td+sd*sd*sd)
??????? {
??????????? printf("水仙花數字:%d\n", num);???
??????? }
??? }
??? return 0;???
}
想問下為什么輸出只有一個407
2018-09-29
你的程序中sd的公式是不對的,如果你用這個來得出的sd會和hd相等,因為在num%100指的就是num的百位數上的值,也就是hd的值,也就是說,你在最后的計算中,只有hd和td參加了計算。
2018-09-26
sd=num%10
2018-09-22
//獲取三位數字num百位上的數字
??????? hd = num/100 ;
??????? //獲取三位數字num十位上的數字
??????? td = num%100/10 ;
??????? //獲取三位數字num個位上的數字
??????? sd = num%10 ;