【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]。
如果对您有帮助可以点赞、收藏、关注,将会是我最大的动力 ↩︎