三九宝宝网宝宝教育教学论文

急问谁有把中缀表达式转化为后缀表达式并求值的C程序

02月23日 编辑 39baobao.com

[在c语言中:编程出输出九九乘法表的表达式]1 2 3 4 5 6 7 8 #include<stdio.h> voidmain(void) { inti,j; for(i=1;i<=9;i++) 1653for(j=1;j<=i;j++) printf("%1d*%1d=%-3d%c",j,i,j*i,j<i?';':'\n'); }...+阅读

#include"stdafx.h"#include"iostream.h"#include"math.h"#include"time.h"#defineTRUE1#defineFALSE0#defineERROR-1typedefintStatus;//用模板实现的链式结构堆栈类templateclassstack{private:structlink{Tdata;//结点数据域link*next;//下一结点指针link(TData,link*Next){//结构体构造函数data=Data;next=Next;}}*head;//堆栈顶指针public:stack();//构造函数(初始化栈)~stack();//析构函数(销毁栈)voidpush(TData);//压栈操作Tgettop()const;//取栈顶元素Tpop();//出栈操作Tgetvalue(intindex);//返回栈底开始第INDEX个栈中值voidtraverse(intn);//遍历栈N个数换行intempty();//判断栈是否为空,1是,0非intsizeofstack();//返回栈的大小voidclear();//清空栈};//类模板成员函数的实现templatestack::stack()//构造函数{head=0;}templatestack::~stack()//析构函数{link*cursor=head;while(head){cursor=cursor->next;deletehead;head=cursor;}}templatevoidstack::push(TData)//压栈操作{head=newlink(Data,head);}templateTstack::gettop()const//取栈顶元素{returnhead->data;}templateTstack::pop()//出栈操作{if(head==0)return0;Tresult=head->data;link*oldhead=head;head=head->next;deleteoldhead;returnresult;}templateTstack::getvalue(intindex)//返回栈底开始第INDEX个栈中值{link*cursor=head;inti=1;intstacklen=sizeofstack();if(indexstacklen)return0;while(inext;i++;}returncursor->data;}templatevoidstack::traverse(intn)//遍历栈{link*cursor=head;intiEnterSign=1;//换行标识while(cursor){coutpush(x);x=0;flag=FALSE;}}else{x=opnd->pop();y=opnd->pop();z=calc(y,ch,x);opnd->push(z);}ch=*(++exp);}result=opnd->pop();return(result);}intmiddexpression(char*exp){stack*opnd=new(stack);stack*optr=new(stack);charch=*exp;intx=0,y,z;intresult;optr->push('#');while(ch!='#'||optr->gettop()!='#'){if(!Operator(ch)){x=x*10+(int)(ch)-48;if(Operator(*(exp+1))){opnd->push(x);x=0;}ch=*++exp;}else{switch(Precede(optr->gettop(),ch)){case''://退栈并将运算结果入栈x=opnd->pop();y=opnd->pop();z=calc(y,optr->pop(),x);opnd->push(z);x=0;break;}}}result=opnd->pop();return(result);}voidmain(void)//程序入口函数{clock_tt1,t2,t3,t4;inti,n=9000;t1=clock();for(i=0;i

以下为关联文档:

谁有老师评价学生的书面表达两年了,我应该对你说声“谢谢”,是你的责任感,为我分担了很多苦忧,无论是作为学生还是干 部,抑或是我的朋友,你都是优秀的。优 点:聪明、好学、知书达礼,有责任感,勇求上进;有 待提高:...

编写c语言程序计算并显示任意给定值的阶乘#include <stdio.h> void main() { int i=0,N,j=1; printf("请输入一个整数"); scanf("%d",&N); if(N<0) { printf("错误!"); return; }else if(N==0){ printf("%d的阶乘是1\n",N); return;...

讲给定的角度值转化为对应的弧度值的c语言程序C语言中,将给定的角度值转化为对应的弧度值,可以用如下的方法: 弧度=圆周率*角度/180 参考代码如下: #include <stdio.h> #define PI 3.1415927 int main(){ double degree; pri...

任意输入一个逻辑表达式输出它的真值表要用c语言写的/*本程序支持任意输入的逻辑表达式,可以进行与或非和蕴涵的运算,表达式中可带括号.bintree.h和stack.cpp为二叉树和栈的定义及实现*/ #include#include#define MAXNUM 100 //...

如何在C语言中使用正则表达式看到大家讨论这方面的东西,作点贡献聊表各位高手对这个版快的无私奉献 :oops: 如果用户熟悉Linux下的sed、awk、grep或vi,那么对正则表达式这一概念肯定不会陌生。由于它可以极...

C语言的运算符和表达式有哪些运算符的种类C语言的运算符可分为以下几类: 1.算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。 2.关系运算符 用于比较运算...

c程序设计中的括号匹配问题描述 1设某一算术表达式中包含圆括号int isMatch(char *expr) { int i; int flag1 = 0,flag2 = 0,flag3 = 0; for(i = 0; expr[i]; ++i) { if(expr[i] == '(') ++flag1; if(expr[i] == ')') --flag1; if(expr[i...

C语言判断给定表达式的括号是否匹配#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char c; int i=0,n; int output[100]; int lefts=0,leftm=0,leftb=0; int rights=0,rightm=0...

c语言中常量表达式有哪些C语言中的常量与常量表达式与变量 在程序运行过程中,其值不能被改变的量,称为常量。 整型常量:1,0,-1 实型常量:8.2,-3.55 字符常量:'a', 'c'。 常量一般从其字面形式即可判断。...

推荐阅读
图文推荐