【第五周项目4】数制转换
来源:互联网 发布:软件结项文档 编辑:程序博客网 时间:2024/05/20 11:23
/*Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:17.cpp 作 者:尚文哲 完成日期:2017年10月12日 问题描述:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。 输入描述:数字与进制 程序输出:输出转换结果 */
//(1)头文件: #include<stdio.h> #include<malloc.h> typedef char ElemType; typedef struct linknode { ElemType data; //数据域 struct linknode *next; //指针域 } LiStack; //链栈类型定义 void InitStack(LiStack *&s); //初始化栈 void DestroyStack(LiStack *&s); //销毁栈 int StackLength(LiStack *s); //返回栈长度 bool StackEmpty(LiStack *s); //判断栈是否为空 void Push(LiStack *&s,ElemType e); //入栈 bool Pop(LiStack *&s,ElemType &e); //出栈 bool GetTop(LiStack *s,ElemType &e); //取栈顶元素 void DispStack(LiStack *s); //输出栈中元素 //(2)源文件: #include"head.h" void InitStack(LiStack *&s) { s=(LiStack *)malloc(sizeof(LiStack)); s->next=NULL; } void DestroyStack(LiStack *&s) { free(s); } int StackLength(LiStack *s) { int i=0; s=s->next; while(s!=NULL) { i++; s=s->next; } return i; } bool StackEmpty(LiStack *s) { if(s->next==NULL) { return true; } else return false; } void Push(LiStack *&s,ElemType e) { LiStack *l; l=(LiStack *)malloc(sizeof(LiStack)); l->data=e; l->next=s->next; s->next=l; } bool Pop(LiStack *&s,ElemType &e) { LiStack *l; l=s; if(l->next==NULL) { return false; } l=s->next; e=l->data; s->next=l->next; free(l); return true; } bool GetTop(LiStack *s,ElemType &e) { if(s->next==NULL) { return false; } e=s->next->data; return true; } void DispStack(LiStack *s) { LiStack *l; l=s; l=l->next; while(l!=NULL) { printf("%c",l->data); l=l->next; } printf("\n"); } //(3)main函数: #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() { MultiBaseOutput(16, 16); return 0; }
数字15转2进制
阅读全文
0 0
- 第五周项目4--数制转换
- 第五周 项目4-数制转换
- 第五周项目4 -数制转换
- 第五周 项目4 - 数制转换
- 第五周项目4-数制转换
- 第五周项目4-数制转换
- 第五周项目4-数制转换
- 第五周 项目4-数制转换
- 第五周-- 项目4 - 数制转换
- 第五周 项目4--数制转换
- 第五周 项目4 - 数制转换
- 第五周项目4-数制转换
- 第五周项目4-数制转换
- 第五周项目4-数制转换
- 第五周项目4 数制转换
- 【第五周项目4-数制转换】
- 第五周项目4-数制转换
- (第五周项目4)数制转换
- vue 插件集合
- Codeforces Round #437 (Div. 1) C
- 【LeetCode】C# 36、Valid Sudoku
- css的overflow属性
- Util-BaseApplication
- 【第五周项目4】数制转换
- PPT制作流程 --- 早看早超生
- 黑客工具软件大全100套
- 合并有序单链表并排序(遍历一次)
- Studio像Eclipse一样设置switch/case那样的代码块
- 搜狗2016研发工程师编程题
- iOS-Xcode 上传App Store遇到 Unexpected CFBundleExecutable Key问题
- sql文件反向生成物理概念模型
- 黑客工具软件大全100套