编程题——进制转换
题目描述: 给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数 输入描述: 输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。 输出描述: 为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)
示例: 输入 7 2 输出 111
程序代码如下:
#include <iostream>
#include <string>
using namespace std
;
int main()
{
int M
, N
;
bool flag
= false;
string s
, table
= "0123456789ABCDEF";
cin
>> M
>> N
;
if (M
< 0)
{
M
= 0 - M
;
flag
= true;
}
while (M
)
{
s
+= table
[M
%N
];
M
/= N
;
}
if (flag
)
s
+= '-';
reverse(s
.begin(), s
.end());
cout
<< s
<< endl
;
return 0;
}
程序运行结果如下:
转载请注明原文地址: https://yun.8miu.com/read-57098.html