蓝桥杯练习——十进制转十六进制
2016-03-16 14:52
489 查看
问题描述
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
给出一个非负整数,将它表示成十六进制的形式。
输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
样例输入
30
样例输出
1E
重要的是知道十六进制和十进制之间的关系
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
给出一个非负整数,将它表示成十六进制的形式。
输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
样例输入
30
样例输出
1E
重要的是知道十六进制和十进制之间的关系
#include<stdio.h> int main() { int x,a[1000],b,k,i; char sint[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; scanf("%d",&x);//输入一个x k=0; if(x==0) printf("%c",sint[0]); //特殊情况特殊处理 A:if(x!=0) { a[k]=x%16;//a[k]中存放的是余数 k++; x=x/16; goto A; } //goto尽量不使用,但不用goto又不知道怎么做了 for(i=k-1;i>=0;i--) { printf("%c",sint[a[i]]);//倒序输出 } printf("\n"); }
相关文章推荐
- mysql 查看是否存在某一张表
- CUBRID学习笔记 10 数据库文件的类型和含义
- 面试问题总结
- 循序渐进开发WinForm项目(6)--开发使用混合式Winform模块
- File文件的基本属性
- 全栈学习计划-博客开发
- 线性代数: 求解齐次线性方程组,列出步骤
- Angular.watch性能问题和ngInfiniteScroll
- struct和typedefstruct
- Cache技术
- 01背包问题 -- 经典动态规划题
- Pointwise 17.3 R4 安装及破解【详细图文】
- createrepo:创建本地源
- JS判断密码强度的代码
- iOS 中的UIWebview如何添加头视图的问题
- QT编码问题之不规则对话框的实现
- 纯数字逐一停止显示效果
- 数据结构与算法学习笔记(五)
- SSRS 报表 递归列表
- 2、工厂方法模式