讀入表示式樹的先序遍歷字串,求其值。運算子只可能是加減乘除,保證輸入的每個子表示式樹的結果都是整數值且可以用c語言的int型別表達。
輸入由多組測試資料組成。
每組資料報含一行字串,即表示式樹的先序遍歷序列,字串長度大於0且不超過100。
見樣例。
+ 13 # # * 5 # # 9 # #* + 13 # # 5 # # 9 # #
(13+(5*9))=58((13+5)*9)=162
思路:1.轉換資料
2.中序遍歷
3.計算
#include #include #include using namespace std;
typedef struct node
tree_node,*xtree;
int data_num,data_index;
char data[200][200];
void creat_xtree(xtree &t)
else
}void mid_over(xtree t)
}int transf_num(char s)
return getvalue(t->s,a,b);
}int main()
else
data[data_num][k++]=s[i];
}data[data_num][k]='\0';
creat_xtree(tree);
data_index=0;
mid_over(tree);
printf("=%d\n",evaluate(tree));
}return 0;
}
表示式樹的值
題目描述 讀入表示式樹的先序遍歷字串,求其值。運算子只可能是加減乘除,保證輸入的每個子表示式樹的結果都是整數值且可以用c語言的int型別表達。輸入輸入由多組測試資料組成。每組資料報含一行字串,即表示式樹的先序遍歷序列,字串長度大於0且不超過100。輸出見樣例。樣例輸入 copy 13 5 9 13 ...
表示式 表示式樹 表示式求值
總時間限制 1000ms 記憶體限制 65535kb 描述 眾所周知,任何乙個表示式,都可以用一棵表示式樹來表示。例如,表示式a b c,可以表示為如下的表示式樹 a b c 現在,給你乙個中綴表示式,這個中綴表示式用變數來表示 不含數字 請你將這個中綴表示式用表示式二叉樹的形式輸出出來。輸入輸入分...
表示式的值
乙個由1到n n 3,4,5.9 的數字組成的遞增序列 1,2,3,4.n。請在數列中插入 表示加法,表示減法,表示連線兩個數 比如1 2 3 就等於1 23 按照這樣的方法將每一對數字組合在一起。計算該表示式是否為0,你寫乙個程式找出所有產生和為零的長度為n的數列。7 1 2 3 4 5 6 7 ...