http://ac.jobdu.com/problem.php?pid=1194
题目描述:输入一个整数,将其转换成八进制数输出。
这道题比较简单,用的就是之前 44-题目1118:数制转换的函数#include<iostream>
#include<algorithm>
#include<iomanip>
#include<fstream>
#include<map>
using namespace std;
void turnb(long num10, int b) //十进制数变成b进制数后打印出来
{
char result[100]; //取模后逆序存放
map<int, char> Map;
int i = 0, temp;
Map[10] = 'A'; Map[11] = 'B'; Map[12] = 'C'; Map[13] = 'D'; Map[14] = 'E'; Map[15] = 'F';
while (num10 != 0)
{
temp = num10 % b;
if (temp >= 10)
result[i++] = Map[temp];
else
result[i++] = temp + '0';
num10 = num10 / b;
}
for (; i > 0; i--)
cout << result[i - 1];
cout << endl;
}
int main()
{
int num;
ifstream cin("data.txt");
while (cin >> num)
{
if (num == 0)
cout << 0 << endl;
else
turnb(num, 8);//将10进制数变成8进制数并打印出来
}//end of while
system("pause");
return 0;
}