幫想一個程式:
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 可以看到全部內容