- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《十进制表达式四则运算》源代码
源代码:
#include stdio.h
#define MAXSIZE 16
typedef struct{
int data[MAXSIZE];
int top;
int base;
}seqstack; /* 顺序栈的定义*/
/*以下为函数声明*/
void InitStack(seqstack *);
int Empty(seqstack *);
void Push(seqstack *, int );
int Pop(seqstack *);
int GetTop(seqstack *);
int Operate(int ,char ,int );
char Proceed(char ,char );
int In(char );
int EvalExpres(void);
/* 定义两个栈分别存放运算符和操作数*/
seqstack StackR,StackD;
/*主函数*/
int main()
{
int v;
char ch;
while(1)
{
printf(\t本程序的功能为:用顺序栈实现整型算术表达式的求值\n);
v = EvalExpres();
printf(The result is:%d,v);
/*以下为程序控制*/
printf(\nInput q to quit and ENTER run again:);
do{
scanf(%c,ch);
if(ch == q || ch == Q)
exit(0);
}while(ch!=\n);
system(cls);
}
return 0;
}
void InitStack(seqstack *s)
{ s-top = 0;
s-base = 0;
} /* 初始化栈*/
int Empty(seqstack *s)
{ if(s-top == s-base)
return 1;
else
return 0;
} /* 判断栈是否为空*/
void Push(seqstack *s, int x)
{
if(s-top == MAXSIZE)
{ printf(OVER FLOW!\n);
exit(0);
}
else
{ s-data[s-top] = x;
s-top++;
}
} /* 进栈 */
int Pop(seqstack *s)
{ int e;
if(Empty(s))
{ printf(Under flow!\n);
return 0;
} /* 下溢*/
else
{ s-top--;
e = s-data[s-top];
return e;
}
} /* 出栈*/
int GetTop(seqstack *s) /*取栈顶元素*/
{
if(Empty(s))
{ printf(Under flow!\n);
return 0;
}
else
return s-data[s-top-1];
}
int EvalExpres(void) /* 表达式求解函数*/
{
int a,b,i=0,s=0;
char c[80],r;
InitStack(StackR);
Push(StackR,#);
InitStack(StackD);
printf( 请输入表达式并以‘#’结束:);
gets(c);
while(c[i]!=# || GetTop(StackR)!=#)
{
if(!In(c[i])) /* 判断读入的字符不是运算符 是则进栈*/
{ if(c[i] = 0 c[i] = 9)
您可能关注的文档
- 日本の位置と面积.ppt
- 公路监理工程师过关题经济分析.doc
- 利用队列的基本操作实现杨辉三角的输出.doc
- 铜的电解精炼-电流效率的测定.doc
- 五年级上册第五单元Unit5B.Let27stalk.ppt
- 公司火警处理制度.doc
- 七年级语文主题阅读备课4.doc
- 监理工程师-质量-教案07.08.ppt
- 把握古典诗歌思想内容.ppt
- 第二周周练试卷.doc
- 《连接零部件的智能设计技术及应用》.docx
- 《任务型教学法在初中英语词汇教学中的应用研究》.docx
- 《“意”“料”“臆”“测”的语义演变及教学应用研究》.docx
- ASUS华硕Data StorageExternal Slim DVD DriveASUS Handheld Ultrasound LU800 for Veterinary Care User Manual (英文版使用手册).pdf
- 哈曼卡顿Onyx Studio 7便携式立体声蓝牙音箱Harman Kardon Safety Instruction and Warranty Card.pdf
- 学校会议通知格式及范文.docx
- 《基于地域民族文化的旅游文创产品设计研究》.docx
- 《工商银行白城分行“保本理财产品”分销渠道策略研究》.docx
- 《藏红花酸预处理对心肌缺血再灌注大鼠心脏损伤的保护作用》.docx
- 《开放式数控系统复杂曲线运动规划方法的研究与实现》.docx
文档评论(0)