解题思路:不停的对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语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:889 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1078 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1233 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
DNA (C语言描述,蓝桥杯)浏览:1553 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:582 |
1071题解浏览:484 |
C二级辅导-求偶数和 (C语言代码)浏览:671 |
永远的丰碑 (C语言代码)浏览:516 |
前10名 (C语言代码)浏览:726 |