這個代碼有問題嗎
#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==hd*hd*hd+td*td*td+sd*sd*sd)?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數字:%d\n", num); ? ?
? ? ? ? }
? ? }
? ? return 0; ? ?
}
2018-08-03
hd,td,sd只是一個數,例如:hd=1,2,3,4,5,6,7,8,9;sd=0,1,2,3,4,5,6,7,8,9;td=0,1,2,3,4,5,6,7,8,9; sd=num-hd-td這個表達式應該還是一個兩位數或三位數,這個表達式應該不對。
2018-08-03
%是取余運算,應該用/,比如153%100=1....53 取的是53不是1,所以錯了
2018-08-02
#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)%10;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd =num-hd-td;
? ? ? ? //水仙花數的條件是什么?
? ? ? ? if(num == hd*hd*hd+td*td*td+sd*sd*sd);?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數字:%d\n", num); ? ?
? ? ? ? }
? ? }
? ? return 0; ? ?
}
參考參考。
2018-08-01
num0是什么