nyoj267中綴式變字尾式(二叉樹)(下)

2021-06-26 20:34:05 字數 791 閱讀 6452

這個題我前幾天只是做了表示式變換部分,今天把求值部分加進去了。

#include#include#include#includeusing namespace std;

typedef struct tree

tree;

stack ops;

stack ovs;

tree *root;

char s[1005];

int p(char ch)

}tree *_build(char *s)

tree *build(char ch)

double calcu(double n1,char op,double n2)

}void visit(tree * r)

//葉節點必定是數字

else

//遍歷的時候計算。 }}

int main()

w[j]='\0';

//printf("[%lf]",atof(w));

ovs.push(_build(w));

}else

}} while(ovs.size()!=1)

root=ovs.top();ovs.pop();

while(!ops.empty())

ops.pop();

visit(root);

printf("=\n%.2lf\n\n",root->n);

} return 0;

}

我覺得不是很難,只要表示式求值你會了,這題也是小意思。

NYOJ467中綴式變字尾式

輸入 第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證輸入的運算元中不會出現負數。資料保證除數不會為0 輸出每組都輸出該組中...

nyoj 題目467 中綴式變字尾式

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 輸入 第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保...

NYOJ 467 中綴式變字尾式

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 輸入第一行輸入乙個整數n,共有n組測試資料 n 10 每組測試資料只有一行,是乙個長度不超過1000的字串,表示這個表示式的中綴式,每個表示式都是以 結束。這個表示式裡只包含 與小括號這幾種符號。其中小括號可以巢狀使用。資料保證...