数制转换

数制转换

算法描述

输入一个十进制数字,输出对应的八进制数值

算法分析

十进制转换八进制,常用的方法是“除以8倒序取余”的方法。

涉及到倒叙,不难想到栈后进先出的特点。

代码实现

//数制转换
void conversion()
{//十进制转换八进制
	//初始化栈 
	SqStack S;
	InitStack(&S);
	int num, temp;
	printf("请输入十进制数字:");
	scanf("%d", &num);
	//压栈 
	while(num!=0)
	{
		temp = num%8;
		Push(&S, temp);
		num = num/8;
	}
	//出栈 打印 
	SElemType e;
	printf("八进制数为:"); 
	while(!StackEmpty(S))
	{
		Pop(&S, &e);
		printf("%d", e);
	}
	printf("\n");
	//销毁栈
	DestroyStack(&S);
} 

int main()
{
	//数制转换	
	conversion();
	return 0;
}

运行结果

数制转换_第1张图片数制转换_第2张图片

你可能感兴趣的:(数据结构,数制转换,十进制准换八进制,栈)