题解 | #十进制整数转十六进制字符串#
十进制整数转十六进制字符串
https://www.nowcoder.com/practice/80eca5f47e6f473893151b863b25aba1
#include <iostream> using namespace std; int main() { int rmd[100]; char str[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; int input; cin >> input; int i = 0; while ( input != 0 ) { rmd[i] = input % 16; input /= 16; i++; } for ( i; i > 0; ){ i--; cout << str[rmd[i]]; } } // 64 位输出请用 printf("%lld")
定义两个数组,一个数组用于存放10进制不断除16的余数,另一个数组存放16进制的各个位,根据数组一的元素值,输出对应下标的数组二元素值,即可转换