请设计一个栈,实现十进制数转任意进制数。
生活随笔
收集整理的這篇文章主要介紹了
请设计一个栈,实现十进制数转任意进制数。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
1.題目描述
2.代碼實現
1.題目描述
請設計一個棧,實現十進制數轉任意進制數
2.代碼實現
?
#include <iostream> using namespace std;#define MAXSIZE 100typedef struct {int *base;//棧底指針int *top;//棧頂指針int stacksize;//棧最大容量 } SqStack;//初始化棧 void InitStack(SqStack &S) {S.base=new int [MAXSIZE];//整型數組的首地址賦給棧底指針S.top=S.base;//棧頂指針指向棧頂指針S.stacksize=MAXSIZE;//棧的大小設為MAXSIZE }//入棧操作 void Push(SqStack &S,int e) {*S.top=e;//棧頂元素置為eS.top++;//棧頂指針指向下一位 } //出棧 void Pop(SqStack &S,int &e) {--S.top;//棧頂指針減1e=*S.top;//棧頂元素賦給e }void conversion(int N,int n) {SqStack S;int e;InitStack(S);while(N){Push(S,N%n);//如果N不為0,將N%n壓入棧中N=N/n;//N置為N/n的商}while(S.base!=S.top){//如果棧不為空,彈出棧頂元素Pop(S,e);cout<<e;} } int main() {int N,n;char c='Y';while(c=='Y'){cout<<"請輸入一個十進制整數:";cin>>N;cout<<"請輸入想轉換的進制:";cin>>n;conversion(N,n);cout<<endl;cout<<"繼續請輸入Y,結束請輸入N:";cin>>c;}return 0; }?
總結
以上是生活随笔為你收集整理的请设计一个栈,实现十进制数转任意进制数。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用数组存储字符C进行回文检测
- 下一篇: 要做3D游戏建模,需要什么配置的电脑?