解题思路:不停的对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语言训练-计算1977!* (C语言代码)浏览:890 |
C语言训练-斐波纳契数列 (C语言代码)浏览:2811 |
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:805 |
汽水瓶 (C语言代码)浏览:698 |
淘淘的名单 (C语言代码)答案错误???浏览:593 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:661 |
循环入门练习6 (C语言代码)浏览:953 |
C二级辅导-同因查找 (C语言代码)浏览:563 |
Pascal三角 (C语言代码)浏览:641 |
一元一次方程 (C语言代码)浏览:4059 |