杭电1237--简单计算器 (getchar() + 栈) ╰+攻爆jí腚メ 2022-01-10 04:51 118阅读 0赞 # 简单计算器 # **Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 14590 Accepted Submission(s): 4957** Problem Description 读入一个只包含 +, -, \*, / 的非负整数计算表达式,计算该表达式的值。 Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。 Sample Input 1 + 2 4 + 2 * 5 - 7 / 11 0 Sample Output 3.00 13.36 Source [浙大计算机研究生复试上机考试-2006年 ][-2006_] //getchar(); 较难理解;定义一个栈;存储处理后的数据;最后把栈中所有元素相加; #include <stdio.h> #include<stack> using namespace std; int main() { double m,n; char ch; while(~scanf("%lf",&m)) { if(getchar() == '\n' && m == 0 ) //位置固定; break ; stack <double> s; s.push(m) ; scanf("%c",&ch); //执行一次; while(~scanf("%lf",&m)) { if(ch == '*') { n=s.top() ; n*=m ; s.pop() ; s.push(n) ; } if( ch == '/') { n=s.top() ; n/=m ; s.pop() ; s.push(n) ; } if(ch == '+') s.push(m) ; if(ch == '-') s.push(-m) ; if(getchar() == '\n') break; //ch=getchar(); //gethchar() ; 相当于输入一个人字符; scanf("%c",&ch); } double total =0; while(!s.empty()) { total+=s.top() ; s.pop() ; } printf("%.2lf\n",total); } return 0; } 转载于:https://www.cnblogs.com/soTired/p/4612278.html [-2006_]: http://www.cnblogs.com/search.php?field=problem&key=%D5%E3%B4%F3%BC%C6%CB%E3%BB%FA%D1%D0%BE%BF%C9%FA%B8%B4%CA%D4%C9%CF%BB%FA%BF%BC%CA%D4-2006%C4%EA&source=1&searchmode=source
相关 hdu 1237 简单计算器 hdu 1237 简单计算器 * 题意 * 题解 * 源代码 [传送门][Link 1] 题意 给定一个表达式,计算该表达式 ... 柔光的暖阳◎/ 2024年04月17日 05:30/ 0 赞/ 60 阅读
相关 杭电1061 Rightmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J 布满荆棘的人生/ 2022年09月17日 05:27/ 0 赞/ 282 阅读
相关 杭电1039 Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6553 一时失言乱红尘/ 2022年06月05日 12:48/ 0 赞/ 287 阅读
相关 杭电1026 Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6553 快来打我*/ 2022年06月04日 05:53/ 0 赞/ 306 阅读
相关 杭电oj Problem Title 1 Pro. ID 1000 A+B Problem include<stdio.h> int main() { £神魔★判官ぃ/ 2022年05月15日 16:14/ 0 赞/ 334 阅读
相关 杭电1237--简单计算器 (getchar() + 栈) 简单计算器 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ╰+攻爆jí腚メ/ 2022年01月10日 04:51/ 0 赞/ 119 阅读
相关 杭电1060 此题是一道数学题,也是一道技巧题,也是不能直接算的,否则会超时的!!! 此题思路: 设n^n=d.xxxx\10^(k-1),其中k表示n^n的位数; d.xxxx 痛定思痛。/ 2021年12月01日 22:40/ 0 赞/ 326 阅读
相关 杭电2075 此题真的是简单的再不能简单了!呵呵!我一直纠结,出这样的题是什么意思呢?不懂!哎,不说那些废话了,直接 ac吧!呵呵! \include<iostream> using 今天药忘吃喽~/ 2021年12月01日 22:38/ 0 赞/ 311 阅读
相关 杭电2078 说实话,此题是一道有严重bug的问题,对于xhd没晚能复习的科目数m根本就没用上!!!哎不管那么些了,反正ac了!呵呵!此题这样想xhd得复习效率是前一课程和后一课程复习效率差 ╰+攻爆jí腚メ/ 2021年12月01日 22:38/ 0 赞/ 355 阅读
相关 杭电2090 此题就是一道令人无法琢磨的题!哎!!我简直就无语了!!呵呵!竟然能出这题。。。。 废话少说,直接ac!!! \\\ 此题要想输出结果,还需要注意一下! 在linux 约定不等于承诺〃/ 2021年12月01日 21:12/ 0 赞/ 369 阅读
还没有评论,来说两句吧...