原题描述
Description
利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。
输入格式
第一行:输入一个非负的十进制整数
输出格式
第一行:与输入等值的八进制数
输入样例
15
输出样例
17
题目分析
代码1是简单的10转8进制;代码2是针对10转任意进制的(待更新)
代码
代码1:
#include <iostream>
using namespace std;
int main()
{
int i,a[105]= {0},top,x=0,y=0;
top=1;//说明1是栈底
cin>>x;
while(x)//当x小于8时,x的余数y还可以入栈,但此次x再除8,x会变为0
{
y=x%8;
a[top++]=y;//余数入栈
x/=8;
}
for(i=top-1;i>=1;i--)//输出栈内元素
printf("%d",a[i]);
return 0;
}