编程题——进制转换
 
 
题目描述: 给定一个十进制数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