CSU 1160 A(Contest #3)

Description

 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示。

Input

 每行一个整数x,0<= x <= 2^31。

Output

 每行输出对应的八位十六进制整数,包括前导0。

Sample Input

0
1023

Sample Output

0x00000000
0x000003FF

这题AC后,发现的自己的代码比别人短了许多,其实我就是用十六进制的格式输出,

由于10-15转换成16进制时必须按大写字母输出,所以只需

将这句printf("0x%08x
",x);
改为printf("0x%08X
",x)即可。
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int main()
{
    int x;
    while(scanf("%d",&x)!=EOF)
    {
    printf("0x%08X ",x);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/xl1164191281/p/4655694.html