博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSU 1160 把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示
阅读量:4450 次
发布时间:2019-06-07

本文共 812 字,大约阅读时间需要 2 分钟。

题目链接:    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82974#problem/A

解题思路:  将16进制的表示方法列在一个数组里面,并对应好下标,再定义一个大小为8的字符数组,每使用之前要先赋"\0"清空,用来存放十六进制的数,然后再用辗转相除法将它化为十六进制数,输出的时候,先输出“0x“,再用循环控制需要输出的0的个数,然后再输出存入在字符数组里面的十六进制数(记住倒着输出),这样格式就与案例一样了

源程序代码:

#include 
#include
#include
using namespace std;long n;char a[16]={
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int main(){while(scanf("%d",&n)==1&&n!=EOF){ int i=0; char b[8]="\0";if(n>0) { while(n>0) { b[i++]=a[n%16]; n=n/16; } printf("0x");if(strlen(b)!=8) for( i=0;i<8-strlen(b);i++) printf("0"); for(i=strlen(b)-1;i>0;i--) printf("%c",b[i]); cout<
<

 

转载于:https://www.cnblogs.com/www-cnxcy-com/p/4652458.html

你可能感兴趣的文章
用MySQL的存储过程来实现一些经典函数
查看>>
NOI Linux下Emacs && gdb调试方法
查看>>
React (2) -- State and Lifecycle
查看>>
【转】在EmEditor上编译并运行JAVA
查看>>
关于SqlDateTime溢出的问题
查看>>
jquery下php与ajax的数据交换方式
查看>>
魅蓝Note有几种颜色 魅蓝Note哪个颜色好看
查看>>
使用PullToRefresh实现下拉刷新和上拉加载
查看>>
透明度百分比与十六进制转换
查看>>
HBase表预分区
查看>>
arcgis desktop 10.1 license manager无法启动问题解决
查看>>
django select_related() 联表查询
查看>>
mysql 常用,使用经验
查看>>
NSBundle,UIImage,UIButton的使用
查看>>
vue-cli3 中console.log报错
查看>>
GridView 中Item项居中显示
查看>>
UML类图五种关系与代码的对应关系
查看>>
如何理解作用域
查看>>
从无到满意offer,你需要知道的那些事
查看>>
P1516 青蛙的约会 洛谷
查看>>