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

📄 数制转换.txt

📁 主要是数据结构中的数据转换
💻 TXT
字号:
#include"stdio.h"
#include"stdlib.h"
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10

typedef struct stack{
	int *base;//栈底指针
	int *top;//栈顶指针
	int stacksize;//保存栈的长度
}sqstack;

void initstack(sqstack &s){
	s.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
	s.stacksize=STACK_INIT_SIZE;
	s.top=s.base;
}//对栈进行初始化

int stacklength(sqstack s){
	return s.top-s.base;
}//求栈的长度

void push(sqstack &s,int e){
	*s.top=e;
	s.top++;
	*(s.top)=0;
}//插入元素e为s的新的栈顶元素

int mod(int m,int n){
	return m-(m/n)*n;
}//返回m除以n所得的余数

void conversion(int m,int jz,sqstack &s){
	while(m!=0){
		push(s,mod(m,jz));
		m=m/jz;
	}
}//将十进制的数m转化为jz进制,并将结果保存到栈中

void main(){
	int m;//需要转化的数据
	int jz;//保存多少进制
	int k;//循环控制变量
	int len;//用来保存栈的长度
	sqstack s;
	initstack(s);
	printf("请输入需要转化的十进制数据:");
	scanf("%d",&m);
	printf("转化为多少进制的数据:");
	scanf("%d",&jz);
	conversion(m,jz,s);
	len=stacklength(s);
	//printf("长度为:%d\n",stacklength(s));
	printf("十进制的%d转化为%d进制的数为:",m,jz);
	for(k=0;k<len;k++){
		printf("%d",*(s.top-1));
		s.top--;
	}
	getchar();
	getchar();
	printf("\n");
}

⌨️ 快捷键说明

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