题目描述
将十进制数转换为八进制,并输出。
![](http://acmclub.com/upload/201207/image/3-1_1.jpg)
图:将十进制数转换为八进制并输出
输入
输入包含若干十进制正整数。
输出
输出相应的八进制数,每个占一行。
样例输入
1
2
3
7
8
9
19
10020345
样例输出
1
2
3
7
10
11
23
46162771
提示 [+]
*** 提示已隐藏,点击上方 [+] 可显示 ***
来源
/*********************************
* 日期:2013-2-19
* 作者:SJF0115
* 题号: 天勤OJ 题目1020: 算法3-1:八进制数
* 来源:http://acmclub.com/problem.php?id=1020
* 结果:AC
* 来源:数据结构算法教学题——张飞飞
* 总结:
**********************************/
#include<stdio.h>
#include<iostream>
#include<stack>
using namespace std;
#define MAXSIZE 1000
//输入的字符串
char str[MAXSIZE];
//10进制转换为b进制(用栈)
void Conversion(int num,int b){
stack<int> S;
//除b取余
do{
//余数用栈存储
S.push(num % b);
num /= b;
}while(num);
//输出
while(!S.empty()){
printf("%d",S.top());
S.pop();
}
printf("\n");
}
int main()
{
int a,b;
while(scanf("%d",&a) != EOF){
b = 8;
//十进制转换为8进制
Conversion(a,b);
}
return 0;
}