题目描述ios
给定一个十进制数M,以及须要转换的进制数N。将十进制数M转化为N进制数ide
输入描述:测试
输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。spa
输出描述:code
为每一个测试实例输出转换后的数,每一个输出占一行。若是N大于9,则对应的数字规则参考16进制(好比,10用A表示,等等)
示例1ci输入: 7 2
输出: 111字符串
题目分析:字符串处理
代码以下:string
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string table = "0123456789ABCDEF", res; int m, n; cin >> m >> n; //标记负数,将负数转换为正数统一处理,最后根据标记输出负数时加上‘-’号 bool flag = false; if(m < 0) { flag = true; m = 0 - m; } while(m) { res += table[m%n]; m /= n; } if(flag) res += '-'; reverse(res.begin(), res.end()); cout << res << endl; return 0; }