計算2 3 2 5 6 3 2 4 6的值

2022-04-20 07:41:57 字數 1670 閱讀 8024

**弊端:

1.初始公式串的數值只能是0-9. 大於10的數字會有問題,可以改造mycopy函式

2. 計算順序是從左到右。 比如2*3*4是先算的2*3 再算的rusult*4. 貌似c語言是從又到左的計算順序

#include#include

#include

#include

#include

#include

#include

using

namespace

std;

bool isoper(char

val)

//把char*字串拷貝到vector中

void mycopy(vector& container, char*v)

else

v++;

}}void prtvecs(const vector& values, const vector&pris)

cout

for(auto val : values)

else

}cout

<}void prtvecs(const vector&values)

else

}cout

<加減乘除計算

int realcal(int first, char oper, int

second)

/*權重計算:

數字權重固定是0,()權重固定是-1;

加減的基礎權重是1 乘除的基礎權重是2 ;

()括號控制附加權重0, (:附加權重+2 ):附加權重-2

[之所以選擇附加權重為2舉例: 2*(2+3)中要先算加法. 加的基礎權重1+附加權重2得到3;乘的基礎權重2+附加權重0得到2.所以會先算加法]

加減乘除的最終權重為 他的基礎權重+當前附加權重

*///

values公式串, pris公式串對應的權重串[in out]

int calpri(const vector& values, vector&pris)

if (values[i] == '('

)

if (values[i] == ')'

)

if ((values[i] == '

+') || (values[i] == '-'

))

if ((values[i] == '

*') || (values[i] == '/'

))

}}//

移除公式串和權重串中的括號字元

void removeparentheses(vector& values, vector&pris)

}}/*

獲取可以計算的權重符的位置:

如果左邊操作符的權重》= 右邊操作符的權重,那麼左邊操作符的左右資料可以進行計算

如果左邊操作符的權重< 右邊操作符的權重,那麼需要右邊操作符和它的右邊操作符進行比較。

*/int getcalpos(const vector&pris)}}

return pris.size() - 2;}

void calresult(vector& values, vector&pris)

}int

main()

Open MP計算 的值

include include includestatic long num steps 100000 double step,pi void main pi step sum clock t t2 clock printf pi f,用時 d n pi,t2 t1 上述 使用了規約rduction...

計算a aa aaa aaaa aaaaa的值

思路分析 例如a 2,則計算2 22 222 2222 22222的值,可以運用for迴圈,計算五個數的值,則迴圈條件是五次。這個程式的關鍵的計算每一項,找出每一項之間的規律,程式完整 如下 define crt secure no warnings include include intmain ...

計算累進值

運用輔助日曆表,實現計算資本開支累進值類似的功能 輔助日曆表名稱為dbo.datepicker 例子資料如下圖 資料庫待處理表名稱為dbo.pl pm capitalexpenditure 資料如下圖 處理後的結果如下 具體的sql語句如下 with da as select year a.date...