蓝桥杯 BASIC-10 十进制转十六进制
蓝桥杯的基础练习,复习一下进制转换。
此题为十进制转十六进制,比较简单,采用的是基数除法,通过一个栈就能够实现。需要注意考虑数字为0的情况!
满分代码:
#include <iostream>
#include <cstdio>
#include <stack>
using namespace std;
char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int main()
{
int n,t;
stack<char> s;
cin>>n;
while(n!=0)
{
s.push(num[n%16]);
n/=16;
}
if(s.empty())
printf("0\n");//注意考虑数字为0的情况!
while(!s.empty())
{
printf("%c",s.top());
s.pop();
}
return 0;
}