為什么輸入錯誤,運行正確
#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%100)/10;
??????? //獲取三位數字num個位上的數字
??????? sd =(num%100)%10;
??????? //水仙花數的條件是什么?
??????? if(num==(sd*sd*sd)+(td*td*td)+(hd*hd*hd))
??????? {
??????????? printf("水仙花數字:%d\n", num);???
??????? }
??? }
??? return 0;???
}
2018-07-28
意思這樣程序是可以正常運行的,不過,按照題目給的示例輸入方法是百分位的立方+十分位立方+個位立方。所以可以把倒數第七行==后的順序改成hd,td,sd即可。同時,記得去掉hd等立方外無用的括號。