作者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