题目链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/A
解题思路: 将16进制的表示方法列在一个数组里面,并对应好下标,再定义一个大小为8的字符数组,每使用之前要先赋" "清空,用来存放十六进制的数,然后再用辗转相除法将它化为十六进制数,输出的时候,先输出“0x“,再用循环控制需要输出的0的个数,然后再输出存入在字符数组里面的十六进制数(记住倒着输出),这样格式就与案例一样了
源程序代码:
#include <iostream> #include <cstring> #include <cstdio> using namespace std; long n; char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int main() { while(scanf("%d",&n)==1&&n!=EOF) { int i=0; char b[8]="