HDU - 2031进制转化
2017-11-23 22:53
85 查看
题目连接:HDU - 2031
题目描述:
输入一个十进制数N,将它转换成R进制数输出。Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 2 23 12 -4 3
Sample Output
111 1B -11
利用字符串处理
代码:
#include<stdio.h> #include<math.h> char s[1010] ; int main() { int n , r ; while( scanf("%d%d" , &n , &r ) != EOF ) { int d = 0 , c = abs( n ) ;//取绝对值 if( r > 10 ) {//如果R大于10,则对应的数字规则参考16进制 while( c>0 ) { if( c%r >= 10 ) {//比如,10用A表示,等等 s[d++] = 65 + ( c%r - 10 ) ; } else s[d++] = c%r + '0' ; c /= r ; } } else { while( c>0 ) { s[d++] = c%r + '0' ; c /= r ; } } if( n<0 ) printf("-") ;//若为负数,先输出负号 for( int i=d-1 ; i>=0 ; i-- ) { printf("%c" , s[i] ) ;//由下至上输出 if( i == 0 ) printf("\n") ; } } return 0 ; }
相关文章推荐
- Hdu 3966 . Aragorn's Story
- HDU 1288 Hat's Tea
- hdu-2522-A simple problem
- HDU 4998 Rotate --几何
- HDU 2055 An easy problem
- AC自动机 - 多模式串匹配问题的基本运用 + 模板题 --- HDU 2222
- hdu - 1864 - 最大报销额
- HDU 2041 超级楼梯
- HDU 龟兔赛跑
- hdu 3667 (拆边 mcmf)
- hdu 4745 求最长对称子串
- hdu---1098Ignatius's puzzle
- hdu 6047 Maximum Sequence
- HDU 6119 小小粉丝度度熊【尺取法】
- 【早起一水】HDU——1201 18岁生日
- hdu 2080 夹角有多大II (数学)
- hdu 1147(线段相交)
- hdu 4857 逃生 拓扑排序+逆向建图
- HDU-1881 毕业bg (01背包变形)
- HDU 2609 How Many