(x%100)與(x/10%10)不解
#include <stdio.h>
int main()
{
? ? //定義三位數(shù)num,個位數(shù)sd,十位數(shù)td,百位數(shù)hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數(shù)
? ? for( ?num=100 ?; ?num<1000 ? ; num++ ? ? )
? ? {
? ? ? ? //獲取三位數(shù)字num百位上的數(shù)字
? ? ? ? hd = ? ?num/100 ? ? ? ? ? ? ;
? ? ? ? //獲取三位數(shù)字num十位上的數(shù)字
? ? ? ? td = ? ?num%100 ? ? ? ? ;
? ? ? ? //獲取三位數(shù)字num個位上的數(shù)字
? ? ? ? sd = ? ?num%10 ? ? ? ? ? ? ;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if( ?num == hd*hd*hd+td*td*td+sd*sd*sd ? ? ? )?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num); ? ?
? ? ? ? }
? ? }
? ? return 0; ? ?
}
為什么第12行非要換成?td = ? ?num/10%10 ? ? ? ? ;才能輸出正確結(jié)果,否則為空白?
2015-04-01
假設(shè)num為101, 那么num%100=1這樣取得的是個位上的數(shù);另num/10%10=0,因為先計算num/10=10,然后10%10=0這樣才是取的十位上的數(shù)