⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 用栈实现十进制数转换为任何一种数制.cpp

📁 用c实现进制转换
💻 CPP
字号:
#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"


#define ok 1;
#define error 0;
#define stack_init_size 100;
#define stackincrement 10;


typedef struct{
	int *base;
	int *top;
	int stacksize;
}sqstack;

int initstack(sqstack &s)
{
	 
	s.base=(int *)malloc(100*sizeof(int));
	if(!s.base)
		exit(0);
	s.top=s.base;
	s.stacksize=100;
	return ok;
}

int push(sqstack &s,int e)
{
	if(s.top-s.base>=s.stacksize)
	{
		s.base=(int *)realloc(s.base,(110)*sizeof(int));
	if(!s.base) exit (0);
	s.top=s.base+s.stacksize;
	s.stacksize+=stackincrement;
	}
	*s.top++=e;
	return 1;
}

int pop(sqstack &s,int &e)
{
	if(s.top==s.base)return 0;
	e=*--s.top;
	return e;
}

int stackempty(sqstack s)
{
	if(s.base!=s.top)return 0;
	return 1;
}

void conversion(){
	int e,n;sqstack s;
	initstack(s);
	scanf("%d",n);
	while(n){
		push(s,n%16);
		n=n/16;
	}
	while(!stackempty(s)){
		pop(s,e);
		printf("%d",e);
	}
}


void main()
{
	conversion();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -