您的位置:首页 > 其它

数制转换

2016-10-09 10:45 148 查看
[cpp] view
plain copy

/*   

* Copyright (c)2016,烟台大学计算机与控制工程学院   

* All rights reserved.   

* 文件名称:项目4.cpp   

* 作    者:泮春宇

* 完成日期:2016年9月29日   

* 版 本 号:v1.0    

*问题描述:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。   

*输入描述:数字与进制   

*程序输出:输出转换结果  

*/      

利用顺序栈算法库库,头文件sqstack.h以及函数实现详见顺序栈算法库

注:为实现本项目苈能,请将sqstack.h中的ElemType由char改为int,即

typedef char ElemType 改为  typedef int ElemType

[cpp] view
plain copy

#include "sqstack.h"    

void MultiBaseOutput (int number,int base)    

{    

    //假设number是非负的十进制整数,输出等值的base进制数    

    int i;    

    SqStack *S;    

    InitStack(S);    

    while(number)   //从右向左产生base进制的各位数字,并将其进栈    

    {    

        Push(S,number%base); //将将余数进栈    

        number/=base;    

    }    

    while(!StackEmpty(S))   //栈非空时退栈输出    

    {    

        Pop(S, i);    

        printf("%d",i);    

    }    

}    

int main()    

{    

    printf("将10转化成二进制是:\n");    

    MultiBaseOutput(10, 2);    

    printf("\n");    

    return 0;    

}    



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: