将十进制转换成m进制(顺序栈)

时间:2021-04-24作者:klpeng分类:IT综合浏览:405评论:0

       将十进制转换为m进制,采用的是辗转相除法,将要转换的十进制数除以m进制,每次相除的余数压入栈中,在如果商不为0,在将上一步相除得到的商在除以m进制,得到的余数压入栈中。直到商为0,最后在将栈中的元素依次出栈。

      题目:输入一个10进制的数n,输入要转换为m进制。输出n为m进制时的数。

#include<iostream>
using namespace std;
#define MaxSize 100
typedef struct 
{
	int data[MaxSize];
	int top;		
}MyStack;
int main()
{
	MyStack s;
	s.top=0;
	int m;
	int n;
	cout<<"请输入一个十进制数:";
	cin>>n;
	cout<<"请输入要转换几进制:";
	cin>>m;
	while(n)
	{
		s.data[s.top]=n%m;
		s.top++;
		n=n/m;	
    }
    cout<<"转换"<<m<<"进制为:";
	for(int i=s.top-1;i>=0;i--){
		cout<<s.data[i];
	}
}

输出结果为:

将十进制转换成m进制(顺序栈)

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢