// expression.cpp : main project file.
// 表示式計算+-*/四則運算,只有整數,沒有括號,可以有空格。
#include
"stdafx.h"
#include
#include
class
expression
//計算, 如果成功,返回空字串,結果儲存在result中,否則返回錯誤資訊。
char * calculat()
} if( i == 22 ) // +/- 號太多
return "the symbols of +/- more then 10.";
if( *error ) // 其它錯誤
return error;
list[i++] = a1; //存最後乙個數
//第二部,計算加減法
result = list[0];
for( int j = 1; j < i; j++ )
return ""; }
//轉換乙個數,返回浮點型,便於除法計算。
double convert()
return atoi( p ); }
int symbols()
} };
intmain()
if( (*buffer == 'q') || (*buffer == 'q') )
break;
if( !i )
printf( "/nplease enter the expression./n");
else if( i >= 80 )
else
else
} }
}
解析算術表示式
現有字串形式的算術表示式,求計算其值。string str1 2000 600 3 300 2 string str2 2000 600.389895334 2 300 2 6 100 求解方法如下 讀取公式,返回結果。param express 算術公式 return 結果字串 保留兩位小數 pu...
利用棧解析算術表示式
在沒有接觸到棧這種資料結構時,一直覺得用程式計算四則表示式是件相當繁瑣的事。但利用棧,問題就立刻變得容易許多。解析任何包括 和0到9數字組成的算術表示式,並計算其結果。中綴表示式就是通常所說的算術表示式,比如 1 2 3 4。字尾表示式是指通過解析後,運算子在運算數之後的表示式,比如上式解析成字尾表...
Java解析字串表示式 逆波蘭表示式的計算
問題來由 讀入乙個字串形式的四則運算表示式,輸出對應的計算結果。如讀入的是 6 5 2 3 8 3 那麼解析後的輸出結果應為288。思路 一般的計算過程是這樣的,首先計算優先順序最高的小括號裡面的內容,即 5 2 3 8 3 將 2 3 的計算結果並存為a,接著用計算 a 8 並存為b 計算 5 b...