模板 表示式運算

2021-08-09 18:34:31 字數 1505 閱讀 8399

這些都是emmmm

給出乙個表示式,其中運算子僅包含+,-,*,/,^要求求出表示式的最終值資料可能會出現括號情況 還有可能出現多餘括號情況資料保證不會出現》maxlongint的資料。資料可能回出現負數情況

(2+2)^(1+1)

16真的是超級麻煩emmmm,今天考試的時候看了看接著就棄了。。。說實話這個真不應該棄掉,但是真的不會了w

需要開long long,不開的話炸了乙個點,真是麻煩

#include 

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

char ch[10005];

ll num[10005], top1;

ll opt[10005], top2;

void get_num()

int main()

num[++top1] = x;

}if (ch[i] == '(')

if (ch[i] == '+')

if (ch[i] == '-')

num[++top1] = x;

}else

}if (ch[i] == '*')

if (ch[i] == '/')

if (ch[i] == '^')

if (ch[i] == ')')

}while(top2)

printf("%lld\n", num[top1]);

return

0;}

然後是std:

#include

#include

#include

using

namespace

std;

const

int maxn=100000+5;

typedef

long

long ll;

char opt[maxn],ch[maxn];

ll sta[maxn];

int tpo,tp,len;

ll pow(ll x,ll a)

inline

int prty(char c)//priority

}inline ll calc(ll b,char c,ll a)

}int main()

else

if(ch[i]==')')

--tpo;

}else

opt[++tpo]=ch[i];}}

printf("%lld",sta[1]);

fclose(stdin);

fclose(stdout);

return

0;}

運算表示式求值模板

表示式計算 使用方法 輸入合法的表示式,加減乘除,可以帶括號,用空格分開數字和符號,1為結束標誌,比如 2 5 3 1 注意 這是用來算具體答案的,不是轉化成字尾表示式輸出的,當然,思想是遞迴建立表示式樹,然後後序遍歷得逆波蘭式,然後用棧計算結果 模板 include include include...

表示式模板 C 學習

qt從4.6開始,引入了乙個qstringbuilder的內部類 這個類主要使用了乙個被稱為表示式模板 expression templates 的東西。表示式模板是由todd veldhuizen在1995年6月在一篇文章中給出的。表示式模板是一種c 模板元程式設計 template metapr...

JS數學表示式運算

在專案中經常碰到js精度問題,且常用到連續的運算 故寫了個簡單的數學表示式計算,僅支援 計算結果 math.express 3 1 2.3 6 3 5 1 1 1 2 1.9 math.express.add 1.2,3.33 4.53 math.express function 兩個浮點數求和 e...