末日流光


私信TA

用户名:user1542043226

访问量:2846

签 名:

等  级
排  名 4259
经  验 1731
参赛次数 2
文章发表 7
年  龄 20
在职情况 学生
学  校 武汉城市学院
专  业

  自我简介:

解题思路:不停的对16取余,将取余的余数存入数组,输出的时候当余数大于9的时候加上55,强制转换为字符型

注意事项:需要特判输入数字为0的时候

参考代码:

#include <iostream>
using namespace std;
int a[150];
int main()
{
int num,i=0;
cin>>num;//输入十进制数
if(num==0)//特判十进制0
cout<<0;//因为0不能进入while循环,不能输出
while(num){
a[i]=num%16;
i++;
num/=16;
}
for(int j=i-1;j>=0;j--){
if(a[j]>9){//输出的时候当余数大于9的时候加上55,强制转换为字符型,因为超过9,在十六进制中表现为A,B,C,D,E,F
cout<<char(a[j]+55);
}
else
cout<<a[j];//输出十六进制
}
return 0;
}


 

0.0分

1 人评分

  评论区

  • «
  • »