有大大能給我解釋這幾行為什么能取得正確的數值么。都是當年數學課欠下的債啊 T-T
? ?//獲取三位數字num百位上的數字
? ? ? ? hd = (num-num%100)/100 ? ? ? ;
? ? ? ? //獲取三位數字num十位上的數字
? ? ? ? td =(num%100-num%10)/10 ? ? ? ?;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd =num%10 ? ? ? ? ;
? ?//獲取三位數字num百位上的數字
? ? ? ? hd = (num-num%100)/100 ? ? ? ;
? ? ? ? //獲取三位數字num十位上的數字
? ? ? ? td =(num%100-num%10)/10 ? ? ? ?;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd =num%10 ? ? ? ? ;
2015-01-14
舉報
2015-01-14
假設num=x*100+y*10+z。。x,y,z分別是num的百位,十位,個位。。。
那么百位的x其實就可以直接通過num/100所得到,不用減去余數也可以。
如果非要針對你的式子來說的話,num%100=y*10+z,那么num-num%100=x*100,那么再除以100就是x嘍。。
至于num%10,就是num/10無法除盡的部分,那肯定是z嘍,那么下面幾個式子帶進去就知道啦~~
2015-01-23
#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; ? ?
}
2015-01-14
//獲取三位數字num百位上的數字
? ? ? ? hd = num/100 ? ? ? ;
? ? ? ? //獲取三位數字num十位上的數字
? ? ? ? td =num%10/10? ? ? ;
? ? ? ? //獲取三位數字num個位上的數字
? ? ? ? sd =num%10 ? ? ??