描述
编写一个函数,传入一个十进制的正整数,将十进制整数转换为十六进制的字符串并返回。(十六进制字符串中的字母全部大写)
输入描述:
键盘输入一个十进制的正整数
输出描述:
输出该十进制整数转换后的十六进制字符串
示例1
输入:162
输出:A2
示例2
输入:50
输出:32
示例3
输入:501
输出:1F5
#include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
using namespace std;
string toHexString(int n);
int main() {
int n;
cin >> n;
string hexStr = toHexString(n);
cout << hexStr << endl;
return 0;
}
string toHexString(int n) {
// write your code here......
string h[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};
string rh = "";
if (n <= 16) {
return h[n];
}
while(n > 16)
{
int last = n%16;
rh += h[last];
n = floor(n / 16);
}
rh += h[n];
reverse(rh.begin(), rh.end());
return rh;
}