【C/C++题目】输入一个十进制数,将十进制数转成指定进制并输出。

文章目录

  • 一、实现代码
  • 二、运行结果

一、实现代码

#include 
#include 
using namespace std;
int main()
{
	cout << "输入一个整数:";
	int num = 0;//定义一个十进制的数,程序使用
	cin >> num;
	int num1 = num;//输出使用
	int system = 2;//需要转换的进制
	while (system <= 16)
	{
		cout << endl;
		vector<int> Remainder;//定义vetor容器记录余数
		int temp = num;//暂缓保存
		while (temp > 0)
		{
			Remainder.push_back(temp % system);//记录余数
			temp = temp / system;
		}
		cout << "十进制的" << num<< "的" << system << "进制的数:";
//反向迭代器reverse_iterator,从rbegin(=end)到rend(=begin-1)反向遍历
		vector<int>::reverse_iterator it;
		for (it = Remainder.rbegin(); it != Remainder.rend(); it++)
		{
			if (*it <= 9)//16进制一下
			{
				cout << *it;
			}
			else//十六进制
			{
				char c = (char)*it + 55;//转成ABCDEF
				cout << c;
			}
		}
		system = system * 2;
	}
	return 0;
}

二、运行结果

【C/C++题目】输入一个十进制数,将十进制数转成指定进制并输出。_第1张图片

如有不足之处,还望指正 1


  1. 如果对您有帮助可以点赞、收藏、关注,将会是我最大的动力 ↩︎

你可能感兴趣的:(C/C++题目)