桟的应用——数制转化

来源:互联网 发布:全球人工智能大会 编辑:程序博客网 时间:2024/05/18 00:41
#include<stdio.h>#include<stdlib.h>#include<math.h>#define InitStackSize 100 typedef struct SqStack{    int *base;  //桟底     int *top;  //栈顶     int stacksize;   }Sqstack;//初始化桟 void InitStack(SqStack &S){    S.base = S.top =(int *)malloc(InitStackSize*sizeof(int));    S.stacksize = InitStackSize;}//进栈void PushStack(SqStack &S,int e){    *S.top = e;    S.top++;    } void Conversion(SqStack &S,int n,int b)  //转化 {   //n表示的是输入的十进制数;b表示的是想要转化的进制数     while(n)    {        PushStack(S,n%b);  // n%b表示余数         n=n/b;  //表示商     }}void DisplayStack(SqStack S){    while( S.top != S.base )    {        S.top--;        printf("%d",*S.top);    }    printf("\n");}int main(){    SqStack stack;    int n,b;    printf("Put the num that you want to conver:\n");    while(scanf("%d",&n)!=EOF)    {        InitStack(stack);        printf("Input the conversion num b:\n");        scanf("%d",&b);        Conversion(stack,n,b);        printf("After conver:\n");        DisplayStack(stack);        printf("\n");    }    return 0;}
0 0
原创粉丝点击