這怎么回事,我放到自己的編程器上都可以,這就不能,
#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-hd*100)/10;
??????? //獲取三位數字num個位上的數字
??????? sd=num-hd*100+td*10;
??????? //水仙花數的條件是什么?
??????? if(num==hd*hd*hd+td*td*td+sd*sd*sd)
??????? {
??????????? printf("水仙花數字:%d\n", num);???
??????? }
??? }
??? return 0;???
}
2020-12-31
你這個運行結果只有407,即十位數是0的
原因是個位數計算中加減號錯誤,?sd=num-hd*100+td*10;應該是?sd=num-hd*100-td*10。
2020-11-25
? ? ? ? //獲取三位數字num百位上的數字
? ? ? ? hd=(int)(num/100);
? ? ? ? //獲取三位數字num十位上的數字
? ? ? ? td=(int)(num/10)-(int)(num/100)*10;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd=num-(int)(num/10)*10;