NYOJ 128 前缀式求值

原创 2012年03月22日 08:09:57

题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=128

需要理解递归的过程,中间的读取字符串%n可以获得已读取的位数,参考代码:

 
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
using namespace std;

char str[2000];
int pos,len;
double ope()
{
	double val = 0;
	int n;
	switch(str[pos])
	{
	case '+':pos += 1;return ope() + ope();
	case '-':pos += 1;return ope() - ope();
	case '*':pos += 1;return ope() * ope();
	case '/':pos += 1;return ope() / ope();
	case ' ':pos++;return ope();
	default:
		sscanf(&str[pos],"%lf%n",&val,&n);
		pos += n;return val;
	}
}

int main()
{
	while(gets(str))
	{
		pos = 0; len = strlen(str);
		printf("%.2lf\n",ope());
		memset(str,0,sizeof(str));
	}
	return 0;
}        


NYOJ128 前缀式计算 【栈】

前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式...
  • u012846486
  • u012846486
  • 2014年10月16日 13:19
  • 936

前缀式计算(nyoj 128)

前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式。 而把中缀式按运...
  • u013207805
  • u013207805
  • 2014年03月14日 19:41
  • 455

nyoj 128 前缀式计算

描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式。 而把中缀式按运算顺序加上括号就是:(2+((3+4)*5)) 然后把运算符写到括号前面就是+(2 *( +...
  • u012630083
  • u012630083
  • 2013年10月30日 21:46
  • 466

NYOJ 128 前缀式计算

#include #include #include #include #define MAXSIZE 1010 typedef struct stack {  double data[MAXSIZE...
  • u011547107
  • u011547107
  • 2013年10月01日 10:21
  • 518

NYOJ 128 前缀式表达

题目128 题目信息 运行结果 本题排行 讨论区 前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3...
  • LiuJiuXiaoShiTou
  • LiuJiuXiaoShiTou
  • 2017年04月04日 15:46
  • 298

前缀式表达式求值

上一篇博客讲了中缀,后缀表达式的求法,这里就记载一下前缀的。 可以参考这篇博客 nyoj ACM:前缀式计算( 堆栈的使用 或 递归 ) 比如求 : + 2 * + 3 4 5 注意输入的之间...
  • MosBest
  • MosBest
  • 2017年04月03日 08:56
  • 378

nyoj 128前缀式计算 【数据结构&&队列】

前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中缀式。 而把中缀...
  • qq_21654717
  • qq_21654717
  • 2015年10月30日 23:58
  • 148

nyoj 题目128 前缀式计算

前缀式计算 时间限制:1000 ms  |            内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是...
  • u014360070
  • u014360070
  • 2016年08月19日 18:17
  • 199

NYOJ 128 前缀式计算【栈】

前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3+4)*5这种我们最常见的式子就是中...
  • wyjwyl
  • wyjwyl
  • 2016年07月19日 14:48
  • 201

NYOJ 128 前缀式计算 (栈 stack)

题目128 题目信息 运行结果 本题排行 讨论区 前缀式计算 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 先说明一下什么是中缀式: 如2+(3...
  • a2459956664
  • a2459956664
  • 2016年06月24日 13:00
  • 221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NYOJ 128 前缀式求值
举报原因:
原因补充:

(最多只允许输入30个字)