作者bil193 (丁丁)
看板C_and_CPP
標題[問題] 這個演算法要怎麼寫出來?
時間Thu Jun 4 22:16:25 2009
在試寫一個計算器的程式
例如輸入 12.5*(10/2.0)-9/3
自己心中的演算法為:
先讀字串
while(還沒讀完)
{
if(數字)
數字存入某double的陣列;
if(為運算符號)
運算符號存入另一陣列;
}
想了很久還是不曉得要怎麼區分'數字'和'運算符號'
請問這要怎麼寫啊??
因為可能兩個運算符號連在一起 如*(
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.98.4
→ windincloud:利用ascii code 數字0~9=ascii 48~57 06/04 22:21
→ windincloud:或#include<ctype.h> 使用isdigit() 06/04 22:25
推 maxi326:就很出名的postfix/prefix notation 06/04 23:22
→ tan0:Reverse Polish Notation 06/05 03:25