博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进制转换 hdoj-2031
阅读量:5882 次
发布时间:2019-06-19

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

进制转换,原题目:

题目描述:

输入两个整数,十进制数n(32位整数)和进制r(2<=r<=16 r!=10),求转换后的数。

输入:

7 2

23 12
-4 3

输出:

111

1B
-11

代码:

#include
char in[105];//存位数int main(){ int n,r; int i,j; int t; int judge=0;//judge判断是否是负数 char z='A';//z存储'A' char p='0';//p存储'0' while(scanf("%d%d",&n,&r)!=EOF) { if(n<0) { n=-n; judge=1; } t=n; i=1; while(t>0) { in[i]=t%r; t=t/r; i++; }//取余 整除 //使用数组in存储位数 if(r>10)//十进制以上的进制转换 { for(j=1;j<=i-1;j++) { if(in[j]>=10)in[j]=z+(in[j]-10);//比10大 else in[j]=in[j]+p;//小于10 } } else//十进制以下的进制转换 { for(j=1;j<=i-1;j++) in[j]=in[j]+p; } if(judge==1)printf("-");//是负数输出'-' for(j=i-1;j>0;j--) { printf("%c",in[j]); } printf("\n"); judge=0; } return 0;}

这里用字符数组存位数的方法,再对每一位进行判断。注意理解用字符存储位数。

转载地址:http://zlpix.baihongyu.com/

你可能感兴趣的文章
UWP 页面跳转传值
查看>>
LeetCode - Add Binary
查看>>
图片格式问题分析报告
查看>>
RMAN_学习实验2_RMAN Duplicate复制数据库过程(案例)
查看>>
stl
查看>>
windows上同时安装两个版本的mysql数据库
查看>>
高性能Java科学与技术运算库Colt
查看>>
Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated ?
查看>>
自定义 URL Scheme 完全指南
查看>>
富文本编辑器
查看>>
centos yum遇到No more mirrors to try
查看>>
extern “C”的作用详解
查看>>
一小时包教会 —— webpack 入门指南
查看>>
查找最近的共有祖先元素
查看>>
使刚编辑的vim编辑器配置文件立即生效(实为自动生效)
查看>>
Struts2之文件上传与文件下载
查看>>
分布式事务,第三方接口一致性问题
查看>>
Index Skip Scan in Oracle in 11g
查看>>
转 zabbix 用户建立和中文化
查看>>
转 : ANT 调用sqlplus 客户端
查看>>