亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

百位十位個位是怎么定義的?

為什么?百位是num%100(這個得出來不是1嗎)? ?十位是(num%100)/10(這個得出來不是0嗎)? ? 個位是num%10(這個得出來不也是0嗎)? ? 誰能解釋一下到底怎么定義這個百十個位的?感謝!

正在回答

2 回答

首先咱了解一下模運算(%),意思是取余,10%4=2;(理解10除以4,余數是2),然后int類型會將一個數字強制轉換成整數,如(int)(1.2)=1,(int)(8.9)=8,也就是直接砍掉小數部分,保留整數部分。

百位

那么題中要求定位到百位,那么也就是給定任意一個三位數(已給定num是整型int,只保存整數),那么任意一個三位數除以100,得到的數就是百位了(舉例288/100=2.88,取整型后保存為2,以此類推,百位數就可以定位了)

十位

然后十位,這就用到模運算了,給定一個整型的三位數,首先要去掉百位,如三位數是789,那么789%100,根據模運算,結果就是89,好了,余數出來了已經排除掉了百位,那就好辦,同取百位一樣,89/10=8.9,由于num是整型,那么保存后8.9也就變成了8;

個位

再說個位,就更好辦了。有了上邊百位十位的算法,給定一個三位數,各位就直接對10進行模運算就行了,因為百位和十位都能整除10,剩下的余數就是個位了。

如此解說,可理解?

0 回復 有任何疑惑可以回復我~


首先:所謂“水仙花數”是指一個三位數,所以要拿到最小的三位數100及最大的三位數??

int類型不四舍五入,只保留整數部分。前面的課程有提到。

所以num=100;num<1000;num++? ? ? 這樣就拿到了我們想要范圍所有的三位數

百位數直接除以100得到的數不會四舍五入,直接保存整數部分,百位數拿到。

十位數同理,但是要先拿到這個十位數 除去百位數就是我們要的數? 用%取余? 拿到十位數后同理只不過是除以10,十位數拿到。

個位數,除去百位、十位數就是個位數,num為三位數那么百位、十位是可以整除10的剩下的余數就是我們要的個位數。??

假設num = 371

百位數:num/100=3.71? ?那么百位數為3(不會四舍五入直接保存為3)

十位數:(num%100)/10? ?num%100 余數為71? ? 71/10 =7.1? 保存為7

個位數:num%10=1

個人理解希望對你有所幫助。

8 回復 有任何疑惑可以回復我~
#1

GKWBTT

xiexie
2020-01-30 回復 有任何疑惑可以回復我~
#2

小白萌新up

我可不可以理解為因為是三位數,第一個三位數是100,所以num=100,num<1000,至于num++,意思是從100開始,101,102,一直到999,按照這個順序來算所有三位數,只要符合下面的hd,td,sd這個公式的,就都是所求的num
2020-02-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

百位十位個位是怎么定義的?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號