我是c的初學者,想半天想不到辦法...
誰能給點提示呢?
比如說我要把十進位的33不用%x的方法,輸出成十六進位的21,要怎麼做?(15點)
2006-12-16 11:50:45 · 2 個解答 · 發問者 ? 3 in 電腦與網際網路 ➔ 程式設計
我要轉的整數,是要讓使用者自由輸入的,怎辦?
2006-12-16 12:25:30 · update #1
最簡單的方式是使用 stdlib 的 itoa() function.
ex:
char buf[33]; // 準備一個空間放轉換後的字串
itoa(33,buf,16); // itoa( 要轉換的整數 , 結果存放位址, 多少進位 )
puts(buf); // 輸出字串
2006-12-16 17:56:31 補充:
// 不就這樣而已
int n;
char buf[33];
scanf("%d",&n);
itoa(n,buf,16);
pus(buf);
2006-12-16 17:57:37 補充:
puts(buf); 漏一個 t
2006-12-16 12:09:29 · answer #1 · answered by 鳳琳 5 · 0⤊ 0⤋
回應補充:
修改 scanf 輸入的變數為字元陣列 (字串) 型態
用迴圈逐步比較字元 1~10 ,如果當中含非數字的字元,中斷迴圈,並回報訊息告訴使用者輸入錯誤,請重新輸入,直到正確為止。
輸入正確時,將輸入的資料轉成整數值再作處理即可。
2006-12-16 23:43:14 補充:
有句話錯誤
是「用迴圈逐步比較字元 0~9」才對。
2006-12-16 18:42:07 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋