C语言程序设计第十一章综合实训—学生成绩管理系统汇编
【项目要求】 将从键盘输入的十进制数转换为N(如二进制、八进制、十六进制)进制数据,利用顺序栈实现数制转换问题 问题情境及实现 /*? ????堆栈的应用---进制转换? ????????将十进制转换成其他进制?? */?? #include?stdio.h?? #define?maNlen?100?? ?? typedef?struct???????????//堆栈的结构大家应该都很熟悉了??? {?? ????int?data[maNlen];?? ????int?top;?? }SeqStack;?? ?? void?InitStack(SeqStack?*?S)???//置栈空??? {?? ????S-top?=?-1;?? }?? ?? 问题情境及实现 void?Pop(SeqStack?*?S,?int?*?N)????//出栈,N用来接受被弹出的数的?? {?? ????*N?=?S-data[S-top];?? ????S-top--;?? }??? ?? void?Push(SeqStack?*?S,?int?N)????//入栈?? {?? ????S-top++;?? ????S-data[S-top]?=?N;?? }??? ?? void?Conversion(SeqStack?*?S,?int?n,?int?d)????//n为一个十进制数,d为进制??? {?? ????if(d??0)??? ????????printf(ERROR!\n);?? ????if(n??0)?? ????????n?=?-n;?? ????if(n?==?0)?? ????????Push(S,?0);?? ????while(n)?? ????{?? ????????Push(S,?n%d);?? ????????n?/=?d;?? ????}?? }????? 问题情境及实现 int?main()?? {?? ????int?n,d,N;??????//n为一个十进制数,d为进制??? ????SeqStack?stack,?*S;?? ????S?=?stack;?? ?????? ????while(scanf(%d?%d,n,d)?!=?EOF)??? ????{?? ????????InitStack(S);??????????//初始化??? ????????Conversion(S,?n,?d);?? ????????if(n??0)?? ????????????printf(%c,-);?//若是负数??? ????????while(S-top?!=?-1)?? ????????{?? ????????????Pop(S,?N);?? ????????????if(N??10)?? ????????????????printf(%d,N);?? ????????????else?? ????????????????printf(%c,N?+?55);????//使输出的时候大于9的输出为字母ABC??????? ????????}?? ?????????? ????????printf(\n);?? ????}?? ????????return?0;?? }?? 相关知识 1 栈 1.1 栈的定义及顺序存储 1.2 栈的运算 1.3 双栈的操作 1.4 栈的应用 1.1 栈的定义及顺序存储 2. 栈的顺序存储 #define MAN 栈中允许存放元素的最大个数 typedef struct { datatype data[MAN]; int top; }stack; 1.2 栈的运算 1. 栈的基本操作 2. 栈的基本算法的实现 ⑴ 栈的初始化 ⑶ 入栈 void push (stack *s, datatype N) { if (s-top==MAN-1) printf(栈满); else { s-top++; s-data[s-top]=N; } } ⑷ 出栈 void pop(stack *s,datatype *N) { if(empty(s)) printf(栈空); else { *N=s-data[s-top]; s-top--; } } ⑸ 取栈顶元素 datatype get(stack *s) { if(empty(s)) printf(栈空); else return(s-data[s-top]); } 1.3 双栈的操作 让两个栈共享一个数组的存储空间,让一个栈的栈底为该
您可能关注的文档
- C入门经典教程汇编.ppt
- C规范(自学)汇编.ppt
- C证习题资料汇编.doc
- C讲义第4章树结构汇编.ppt
- C语言上机练习题汇编.doc
- c第二章进程管理汇编.ppt
- C语言回顾汇编.ppt
- C语言函数参数入栈的汇编理解汇编.docx
- C语言学习资料汇编.doc
- C语言基础汇编.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 兰科植物促生菌筛选与人工栽培技术研究.pdf
- 氢氧化钠(片碱)MSDS安全技术说明书.docx
- 国家开放大学电大《成本会计》试题及答案.pdf
- 数学分析第四版下册课后习题答案.pdf
- 数学分析第四版下册课后习题答案.docx
- 2025年秋国家开放大学《商务英语3》形考任务参考答案.pdf
- Unit 2 Know your body Speed up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 2026年春季开学教师收心会校长发言:骏驰启新程,笃行育新人;凝心再聚力,实干谱新篇.docx VIP
- Unit 2 Know your body Start up 外研版(三起)(2024)英语三年级下册.pptx VIP
- 空客A320飞行手册教程.doc VIP
原创力文档

文档评论(0)