题解 | #十进制整数转十六进制字符串#

十进制整数转十六进制字符串

https://www.nowcoder.com/practice/80eca5f47e6f473893151b863b25aba1

#include <cstdio>
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int num =16;
int i;
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......
    char s[50] ;
    while(n/num >16)
    {
        num = num * num;
    }
    for( i=0;n/num >0;i++)
    {
        if(n/num == 0)
        {
            s[i+1] = n+'0';
            
            break;
        }
        if(n/num == 10)
        {
            s[i] = 'A';
        }
        else if(n/num == 11)
        {
            s[i] = 'B';
        }
        else if(n/num == 12)
        {
            s[i] = 'C';
        }
        else if(n/num == 13)
        {
            s[i] = 'D';
        }
        else if(n/num == 14)
        {
            s[i] = 'E';
        }
        else if(n/num == 15)
        {
            s[i] = 'F';
        }
        else 
        {
            s[i] = n/num+'0';
        }
        n = n-(n/num)*num;
        num = num/16;
        if(num == 0)
        break;

    }
    s[i+1] = '\0';
    return s;

}

全部评论

相关推荐

菜菜狗🐶:双非之光
找工作,你会甘心进小厂还...
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务