HDU 1237 简单计算器
来源:互联网 发布:java 深度遍历 编辑:程序博客网 时间:2024/06/03 05:14
http://acm.hdu.edu.cn/showproblem.php?pid=1237
简单计算器
TimeLimit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K(Java/Others)Total Submission(s): 7456 Accepted Submission(s):2401
Problem Description
读入一个只包含 +, -, *, /的非负整数计算表达式,计算该表达式的值。
Input
测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
Output
对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
Sample Input
1 + 2 4 + 2* 5 - 7 / 11 0
Sample Output
3.0013.36
Source
浙大计算机研究生复试上机考试-2006年
Recommend
JGShining
分析:乘除号应该是这个题的难点,只要把乘除号处理好,剩下的相加很简单。
代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{
double num[100]; //用于储存经过乘除计算需要最后相加的数字
charf; //储存符号
doubles; //储存输入的数字
doubleans; //最后的答案
while(cin>>s)
{
memset(num,'\0',sizeof(num));
num[0]=s;
f=getchar();
if(f=='\n'&&s==0)break;
int i=0;
while(1)
{
cin>>f>>s;
if(f=='*')num[i]*=s;
elseif(f=='/') num[i]/=s;
elseif(f=='+') num[++i]=s;
elsenum[++i]=-s;
if(getchar()=='\n')break;
}
ans=0;
for(i;i>=0;i--)
{
ans+=num[i];
}
printf("%.2lf\n",ans);
}
return 0;
}
#include<string>
using namespace std;
int main()
{
}
阅读全文
0 0
- HDU 1237 简单计算器
- hdu 1026 简单的bfs
- hdu 2734 quicksum //简单校验算法
- hdu 2577 How to Type //简单DP
- HDU 1242 Rescue
- java 计算器
- 简单的二叉树 hdu 3791
- HDU 1283 最简单的计算机
- HDU 1237 简单计算器
- HDU 1237 简单计算器
- hdu 1237 简单计算器
- HDU 1237 简单计算器
- hdu 1237 简单计算器
- hdu 1237 简单计算器
- hdu - 1237 - 简单计算器
- hdu 1237 简单计算器
- HDU-简单计算器-1237
- hdu 1237简单计算器
- HDU 1323 Perfection
- 文件上传插件web uploader
- HDU 1303 Doubles
- HDU 1283 最简单的计算机
- 96PIN直插DIP千兆四口网络变压器 千兆交换机路由器网络滤波器
- HDU 1237 简单计算器
- Python列表、元组、集合、字典的区别和相互转换
- Retrofit2.0使用总结
- HDU 1282 回文数猜想
- HDU 1279 验证角谷猜想
- Android Studio用release模式进行调试
- HDU 1248 寒冰王座
- HDU 1234 开门人和关门人
- HDU 1219 AC Me