看板 C_and_CPP 關於我們 聯絡資訊
我的程式碼:http://codepad.org/wXg8vfB2 題目:若輸入未10進位則轉成16進位,若輸入為16進位則輸出10進位 若為負數則輸入結束。 sample input 4 7 44 0x80685 -1 Sample Output 0x4 0x7 0x2C 525957 請問各位我的輸出哪裡有錯誤? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.214.60
ccpz:long long 要用 %lld, %llx 09/24 23:35
cutecpu:輸出 16 進位時,前面要加 "0x" 09/25 08:02
cutecpu:16 進位裡面有英文字母的話要轉大寫 09/25 08:02
VictorTom:要用printf輸出大寫16進位字母, 用%X(大X)就行了:) 09/25 08:50
cutecpu:推樓上的%X 09/25 12:42
gd03:如果用%X輸出的話會連x也變大寫 也就是如果輸入44的話 09/25 13:54
gd03:輸出變0X2C 但是題目說輸出的x要小寫 = = 09/25 13:55
VictorTom:基本上, "0x"是要直接用文字輸出的, %X不會幫你輸出這 09/25 14:19
VictorTom:兩個char, 44用%X輸出, 只會印出"2C"....:) 09/25 14:20
gd03:感謝各位的指導 拿到AC了 09/25 14:31
gd03:原因出在printf("%#X",...)裡我多加了"#"這個符號 謝謝各位了 09/25 14:32