进制转换 hdoj-2031
2016-03-19 14:01
351 查看
进制转换,原题目:hdoj-2031
23 12
-4 3
1B
-11
代码:
这里用字符数组存位数的方法,再对每一位进行判断。注意理解用字符存储位数。
题目描述:
输入两个整数,十进制数n(32位整数)和进制r(2<=r<=16 r!=10),求转换后的数。输入:
7 223 12
-4 3
输出:
1111B
-11
代码:
#include<stdio.h> 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; }
这里用字符数组存位数的方法,再对每一位进行判断。注意理解用字符存储位数。
相关文章推荐
- hdoj-2058-the sum problem
- BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
- hdoj-2086-A1=?
- 判断字符串中有无相同字符
- phpadmin增加使得项目能连接数据库
- hdoj-2089-不要62
- 深度优先搜索之小z的房子与验证码识别
- hdoj-2098-分拆素数和
- 深度优先搜索初尝试-DFS-LakeCounting POJ No.2386
- hdoj-2053-Switch Game
- 《算法竞赛入门经典》习题及反思
- 高精度N的阶乘-N!
- 列举一些有所帮助的blog和文章
- hdoj-2039-三角形
- hdoj-2035-人见人爱a^b
- codeforces 655D D. Robot Rapping Results Report(拓扑排序+拓扑序记录)
- C#中的try catch finally
- 振兴中华--蓝桥杯
- swfupload 禁掉了IE9的javascript 的运行,解决方案如下
- hdoj-2028-Lowest common multiple plus