【noj】1012 进制转换(包括非正数)
2017-05-22 08:59
239 查看
题目描述
将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。
输入
多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。
输出
多行。每行给出转换后的R进制数。
样例输入
3
7 2
23 12
-4 3
样例输出
111
1B
-11
A :
也可以用itoa函数 itoa (n, res ,r)将十进制转换成任意进制,然后再转换成大写
将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。
输入
多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。
输出
多行。每行给出转换后的R进制数。
样例输入
3
7 2
23 12
-4 3
样例输出
111
1B
-11
A :
#include<iostream> using namespace std; int main() { int T; cin >> T; char a[55]; char R[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; while (T--) { int n, r; cin >> n >> r; if (n < 0) { cout << "-"; // 对于负数,先输出负号,然后按正数处理 n = -n; } if (n == 0) { cout << 0; // 0转换为任意进制仍为0 } int cnt = 0; while (n){ a[cnt++] = R[n%r]; n /= r; } for (int i = cnt-1; i >= 0 ; --i) { cout << a[i]; } cout << endl; } return 0; }
也可以用itoa函数 itoa (n, res ,r)将十进制转换成任意进制,然后再转换成大写
相关文章推荐
- NOJ 1012 进制转换
- NOJ 1012 进制转换(十进制转换成任意进制)
- NOJ 1012 进制转换(十进制转换成随意进制)
- UESTC 1012 Ladygod【进制转换】
- UESTC 1012 (进制转换)(思维)
- 南邮ACM 1012 进制转换 JAVA解法
- NOJ_1012
- 1012 进制转换
- 顺序栈(进制转换),包括一系列的操作
- 1012-进制转换
- 1012_进制转换
- java实现多功能科学计算器(包括进制转换,三角函数,四则运算等)
- 南邮 OJ 1012 进制转换
- 各种推荐算法汇总,包括各大公司的主流算法
- 1、第一个程序控制LED(包括如何烧写程序)
- 128 C语言实现文件复制功能(包括文本文件和二进制文件)
- python 进制转换
- Cocos2d-x 完美适配iphone、ipad(包括retina模式)
- fileapi.h里的API函数(包括LockFileEx和FindFirstChangeNotification函数)
- windows 2003 64位版本语言包微软官方下载(包括简体中文)