本例項與上例的區別在於表示式中有括號。其實每個括號中的內容都可以看作是乙個單獨的表示式(也可能又帶括號),考慮到這一點,我們可以把程式寫為遞迴呼叫的方式,遇到括號則呼叫自己計算括號中表示式的值。相應的程式**如下:
#include "stdio.h"
#include "stdlib.h"
float get_num(char **);
float calculate(char **);
int main()
float calculate(char **p)
while(**p != 0 && **p != ')' )
else
m = sign*get_num(p);
while(**p == '*' || **p == '/')
else
m *= get_num(p);
}else
else
div = get_num(p);
if(div == 0)
else
m /= div;}}
if(**p != '+' && **p != '-' && **p != 0 && **p != ')')
result += m;
if(**p == '+')
else
if(**p == '-' )
else
if(**p == ')' )
else
break;
}return result;
}float get_num(char **p)
while(**p >= '0' && **p <= '9')
if(**p == '.')
}return n;
}
進擊的C語言 簡單的計算器
程式設計,用來計算使用者輸入的四則運算表示式的值,只含加減乘除,不含括號。例項解析 表示式中含有加減乘除,乘除的優先級別比加減高。我們以鍵盤輸入 3.12 2 3.5 4 8 2 3 6為例來說明演算法。式子中的2 3.5 4 8 2和3 6要先算,算完之後整個表示式將只有4個資料項,剩下的問題就很...
C 簡單的計算器
實驗目的和要求 1.設計背景 設計擁有簡單的計算功能,方便計算簡單的計算題。方便使用者的使用。2.設計功能 具有一般計算功能,能進行基本的加減乘除運算,還具有求根號,倒數等功能。特點是能進行不同進製的運算和不同進製間的轉換。3.模組分解 該計算器分為3個模組,分別是 textbox 顯示區 顯示數字...
c語言7 21簡單計算器
模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。輸入格式 輸入在一行中給出乙個四則運算算式,沒有空格,且至少有乙個運算元。遇等號 說明輸入結束。輸出格式 在一行中輸出算式的運算結果,或者如果除法分母為0或有非法運算子,則輸出...