编程论坛 » 数据结构与算法 » 求助: 利用栈,将十进制数转换成八进制的数
新手上路
搜索更多相关主题的帖子: 八进制 十进制数 逆序 余数
查看详细资料
TOP
高级会员
/***************************************************************** ** HighlightCodeV3.0 software by yzfy(雨中飞燕) http://yzfy.org ** *****************************************************************/ #include<iostream> using namespace std; #define stacksize 100 typedef int DataType; typedef struct { DataType data[stacksize]; int top; }Stack; void Initial(Stack *s) { s->top=-1; } int Isempty(Stack *s) { return s->top==-1; } int IsFull(Stack *s) { return s->top==stacksize-1; } void Push(Stack *s,DataType x) { if(IsFull(s)) { cout<<"栈上溢"; exit(1); } s->data[++s->top]=x; } DataType Pop(Stack *s) { if(Isempty(s)) { cout<<"栈为空"; exit(1); } return s->data[s->top--]; } //进制转换函数 void Conversion(int i,int j) { int k; Stack s; Initial(&s); while(i) { Push(&s,i%j); i=i/j; } while(!Isempty(&s)) { k=Pop(&s); cout<<k; } cout<<endl; } DataType top(Stack *s) { if(Isempty(s)) { cout<<"栈为空"; exit(1); } return s->data[s->top]; } int main(void) { int m,n; cin>>m>>n; Conversion(m,n); system("pause"); return 0; }
#include<iostream> using namespace std; void conversion(int a) { if (!a) return; conversion(a/8); cout<<a%8; } int main(void) { int a; cout<<"输入你要转换的数"<<endl; cin>>a; conversion(a); cout<<endl; system("pause"); return 0; }
注册会员
鱼鱼啦啦 在 2008-6-27 21:14 的发言: 你这好像是高级java啊,我们没学过这种类型的那~~有点看不懂的那~~ 唔~~