作者povertytrap (povertytrap)
看板C_and_CPP
标题[问题] C的经典计算机题目
时间Sat Mar 12 19:32:58 2016
各为前辈
在下是要考国家身障考试资讯四等的考生(第三年.........)
我写了普考、身特、地特、铁路等考试的考古题,偏偏这题我没有头绪
这是97年身特4等的题目,也是典型的写简易计算机题目
请写一段程式可接收由键盘输入之一行算数四则运算之式子,例如5*3+8/2-7,并将
其运算结果显示在萤幕上。(40 分)
附注说明:
1.此行算数四则运算式子之数字将只会是正整数。
2.此行算数四则运算式子之运算符号将只会有+(加)、-(减)、*(乘)、/(除)。
3.此行算数四则运算式子不会有括号。
4.此行算数四则运算式子之长度将不超过25。
以下是我的程式码
http://ideone.com/MCkyx6
我知道如何输入算式且由左而右算完(就是没判断运算子优先权)
我卡在不知如何实作先*/在+-
我有事过先算*/并把*/结果放在阵列,且宣告一个阵列放+-
在呼叫addsub函数去做+-,後来我发现我做不出
我手上有google到此题的解答(可是看不懂.........)
我个人还是希望能自己解出属於自己的写法
希望有前辈可以给我点提示
如需要线上沟通我有skype、Google Hangouts等工具可提供
时间也可配合
附带一提
多型我了解
今天考古题有题要我解释运算子超载
wiki有提到
a+b*c可写成add(a,multiply(b, c))这就是运算子超载
如果用文字解答我这样说
可以将+-*/等运算子利用其他方法表示,再举上方那例子可以吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.170.69.136
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1457782381.A.1A5.html
1F:→ testPtt: 考你堆叠 有的书有教 补习班必教 03/12 19:47
2F:→ jackalwei: 楼上正解,资结有教到,我记得那时候还要画步骤 03/12 20:11
3F:→ bibo9901: 中序转後序 03/12 20:21
4F:→ povertytrap: 我知道这个,中序後序流程图我也会画,我再回去翻书 03/12 22:31
5F:→ povertytrap: 过两天在贴程式码给各位帮忙看一下(资结知道观念但少 03/12 22:33
6F:→ povertytrap: 实作) 03/12 22:33
7F:→ povertytrap: 因为我google的这份解答没用到那概念(写超短超简单) 03/12 22:35
8F:→ povertytrap: 才想说有没有简单直观一点非中序作法 03/12 22:36
9F:→ fatrabitree: 用while去扫,检查算式有没有*/,有就算,没有就+- 03/12 23:09
10F:→ fatrabitree: 算完把对应的结果放回去,然後符号跟数字删掉 03/12 23:09
12F:→ s25g5d4: 还是看不懂就看注解,理解我写的策略 03/13 03:01
13F:→ s25g5d4: 但是这只适用於加减乘除,只要遇到括号就不可能这样写了 03/13 03:02
14F:推 s25g5d4: 转前序/後序才是正规的做法 03/13 03:04
15F:→ povertytrap: 虽然对javascript不熟,还是谢谢楼上大大,等晚上回宿舍 03/13 10:30
16F:→ povertytrap: 在翻资结书实作中序看看 03/13 10:31
※ 编辑: povertytrap (118.170.69.136), 03/13/2016 10:32:16