c语言用栈实现10进制转换为8进制
2017-04-15 21:26
851 查看
出处:http://ask.csdn.net/questions/378750
#include<stdio.h>#include<iostream>using namespace std;#define M 20typedef struct mystack{int a[M];int top;//top表示数组元素的位置}ST;int isfull(ST *t);int isempty(ST *t);int pop(ST *t,int *data);int push(ST *t,int data);void transfer(int number);int main(){int x;printf("请输入一个十进制数:\n");scanf("%d",&x);if(x!=0)//第一部分{transfer(x);}return 0;}int isfull(ST *t)//判断栈是否满{if(t->top==M-1)return 1;else return 0;}int isempty(ST *t)//判空{if(t->top)return 0; //第三部分else return 1;}int push(ST *t,int data)//入栈操作{if(!isfull(t)){(t->top)++;t->a[t->top]=data;return 1;}else return 0;}int pop(ST *t,int *data)//*data表示出栈元素{if(!isempty(t)){*data=t->a[t->top];(t->top)--;//栈长度减一return 1;}else return 0;}void transfer(int number){ST t;int r;t.top=0;//第二部分while(number)//number 为非零时,持续求余{r=number%8;push(&t,r);//入栈number=number/8;//整除运算}while(!isempty(&t)){pop(&t,&r);//出栈printf("%d",r);}printf("\n");}
相关文章推荐
- 数制转换,将10进制转换为8进制 C语言 栈的应用
- 栈实现10进制到8进制的转换
- C语言中各种进制间的转换(2进制,8进制,10进制,16进制)
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- c# 2进制、8进制、10进制、16进制之间的转换
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- perl实现16进制数转换成10进制数
- VC++ 中实现进制2进制,10进制,16进制的相互转换
- asp.net(c#)下各种进制间的轻松转换(2进制、8进制、10进制、16进制)
- C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换
- C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- 链栈实现10进制转换2进制
- C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换
- [收藏]2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- 进制数转换器的VB算法实现(2/8/10/16进制数可以相互转换)
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#) (转载)
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换
- 2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)