匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 3 星期前

C語言 利用while或for迴圈寫一程式,輸入一整數n,輸出n的16進位。不可用除號(/)或餘數(%)運算子 我最近剛學C,只有學基本的東西,不會陣列,目前在學迴圈。這個題目不可以直接printf("%x",n),所以我不知道要怎麼寫,而且還卡到16進位有abc完全不知道怎麼寫?

1 個解答

評分
  • 無憂
    Lv 4
    3 天前

    缺少什麼自己動手做一個出來就好了。

    沒辦法用運算子/,那就使用while跟減法做一個函數來取代。

    沒辦法使用%x,至少可以使用%d跟%c,可以用這兩個配合做出一個印出十六進位中一位數的函數。

    由於是新手向的題目,先假設你沒學過運算子&, <<, >>跟sizeof的運用(可以不用除法)。

    要印出x進位的方法都是一樣,先找出最大的p讓x的p次方可以小於等於n,再來用n除以"x的p次方"就會得到最高位數的値。

    有這個値就可以用上面的函數去印出來,後面就是取餘數,再重複前面的步驟到全部的位數都印出來為止。

    大原則上就是這樣,實作遇到什麼問題再來問吧。

還有問題?馬上發問,尋求解答。