作者gd03 (閒散懶人)
看板C_and_CPP
標題[ACM ] 10473 WA
時間Thu Sep 24 20:50:13 2009
我的程式碼:
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
1F:推 ccpz:long long 要用 %lld, %llx 09/24 23:35
2F:推 cutecpu:輸出 16 進位時,前面要加 "0x" 09/25 08:02
3F:→ cutecpu:16 進位裡面有英文字母的話要轉大寫 09/25 08:02
4F:推 VictorTom:要用printf輸出大寫16進位字母, 用%X(大X)就行了:) 09/25 08:50
5F:→ cutecpu:推樓上的%X 09/25 12:42
6F:→ gd03:如果用%X輸出的話會連x也變大寫 也就是如果輸入44的話 09/25 13:54
7F:→ gd03:輸出變0X2C 但是題目說輸出的x要小寫 = = 09/25 13:55
8F:推 VictorTom:基本上, "0x"是要直接用文字輸出的, %X不會幫你輸出這 09/25 14:19
9F:→ VictorTom:兩個char, 44用%X輸出, 只會印出"2C"....:) 09/25 14:20
10F:→ gd03:感謝各位的指導 拿到AC了 09/25 14:31
11F:→ gd03:原因出在printf("%#X",...)裡我多加了"#"這個符號 謝謝各位了 09/25 14:32