C++題目求解 |
尚未結案
|
good321
一般會員 發表:6 回覆:6 積分:2 註冊:2006-11-10 發送簡訊給我 |
請各位大大幫幫忙 這題目要怎寫
可以的話,也幫我解釋一下過程 謝謝喔!! 以下我的程式碼和題目 有一運算式,其運算規則為(運算子,運算元,運算元)。例如(*,3,5)表示3*5,結果等於 15。運算子可為 ,-,*,/,運算元則是一個正或負整數,若有多重括弧,則以內部括弧先處 理。請設計一個程式可以從資料檔a.txt 讀入一個運算式,並輸出結果。 範例輸入: ((3,5,*),((2,4,*),6,-), ) 範例輸出: ((3,5,*),((2,4,*),6,-), ) Ans=17 [code cpp] #include #include using namespace std; void main() { ifstream data("a.txt"); char str[100]; data.getline(str,100,'\n'); cout< int len=strlen(str)-1; int i=0; while(len!=0) { if((str[len]>='0' && str[len]<='9') && (str[len-1]<'0' || str[len-1]>'9')) { if(str[len-1]=='-') len--; num[i]=atoi(str len); i ; if(str[len]=='-') len--; } if(str[len]==' ' || str[len]=='-' || str[len]=='*' || str[len]=='/') { if(str[len]==' ') num[i-2]=num[i-1] num[i-2]; else if(str[len]=='-') num[i-2]=num[i-1]-num[i-2]; else if(str[len]=='*') num[i-2]=num[i-1]*num[i-2]; else if(str[len]=='/') num[i-2]=num[i-1]/num[i-2]; i--; } len--; } cout<<"Ans="< [/code] 麻煩各位高手幫幫!! 感激不盡!!!! 編輯記錄
good321 重新編輯於 2011-03-07 09:03:46, 註解 無‧
|
frog1
一般會員 發表:25 回覆:40 積分:18 註冊:2007-01-24 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |