解题思路:不停的对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 人评分
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:545 |
C语言训练-立方和不等式 (C语言代码)浏览:779 |
A+B for Input-Output Practice (IV) (C++代码)浏览:713 |
【明明的随机数】 (C++代码)浏览:834 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:768 |
C语言训练-亲密数 (C语言代码)浏览:697 |
DNA (C语言代码)浏览:564 |
printf基础练习2 (C语言代码)浏览:653 |
母牛的故事 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:561 |