帮想一个程式:
1.能输入中序式转成后序式
2.能将后序式加以运算求值
3.运算子必须有+,-,*,/,^(次方)五种
我在网路是有找到一些但是不是少几样功能就是错误的程式
哪位大大可以帮帮忙阿
邦下面的中序转后序改成可以算出值的(还有$改成^(次方))~
#include <stdio.h>
#include <stdlib.h>
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#define MAXCOLS 100
struct stack{
int top;
char items[ MAXCOLS ];
};
int isdigit( char ); //判断输入的字元是否是 数字
void postfix( char [], char [] ); //将输入 infix expression 转为 post expression
int prcd( char, char ); //比较输入的两个 operator 的优先权
int empty( struct stack * ); //检查 stack 中是否还有元素
void push( struct stack *, char );
char pop( struct stack * );
char stacktop( struct stack * ); //取出 stack 中第一个 element
int main()
{
char instr[ MAXCOLS ], postr[ MAXCOLS ];
int pos = 0;
printf( "Please enter a infix expression : " );
while( ( instr[ pos++ ] = getchar() ) != '\n' );
instr[ --pos ] = '\0'
printf( "\nThe original infix expression is\n\"%s\"\n", instr );
postfix( instr, postr );
printf( "The postfix expression is\n\"%s\"\n\n", postr );
system( "PAUSE" );
return 0;
}
int isdigit( char input )//判断输入的字元是否是 数字
{
return ..
访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容