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

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

一、实现代码

#include <iostream>
#include <vector>
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;
}

二、运行结果

在这里插入图片描述

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


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

posted @ 2020-04-20 18:56  CoutCodes  阅读(490)  评论(0编辑  收藏  举报