博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ-305 表达式求值
阅读量:7126 次
发布时间:2019-06-28

本文共 1894 字,大约阅读时间需要 6 分钟。

 

表达式求值

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
 
描述

Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等。经过训练,Dr.Kong设计的机器人卡多甚至会计算一种嵌套的更复杂的表达式。

假设表达式可以简单定义为:

1. 一个正的十进制数 x 是一个表达式。

2. 如果 x 和 y 是 表达式,则 函数min(x,y )也是表达式,其值为x,y 中的最小数。

3. 如果 x 和 y 是 表达式,则 函数max(x,y )也是表达式,其值为x,y 中的最大数。

4.如果 x 和 y 是 表达式,则 函数add(x,y )也是表达式,其值为x,y 之和。

例如, 表达式 max(add(1,2),7) 的值为 7。

请你编写程序,对于给定的一组表达式,帮助 Dr.Kong 算出正确答案,以便校对卡多计算的正误。

 
输入
第一行: N 表示要计算的表达式个数 (1≤ N ≤ 10)
接下来有N行, 每行是一个字符串,表示待求值的表达式
(表达式中不会有多余的空格,每行不超过300个字符,表达式中出现的十进制数都不
超过1000。)
输出
输出有N行,每一行对应一个表达式的值。
样例输入
3add(1,2) max(1,999) add(min(1,1000),add(100,99))
样例输出
3999200
1 /*   2    功能Function Description:        NYOJ-305  3    开发环境Environment:                DEV C++ 4.9.9.1  4    技术特点Technique:  5    版本Version:  6    作者Author:                        可笑痴狂  7    日期Date:                        20120803  8    备注Notes:                       另类表达式求值,也是栈的应用  9 */ 10  11 //代码一: 12 #include
13 #include
14 #include
15 #include
16 using namespace std; 17 char str[310]; 18 19 int cal() 20 { 21 int a,b; 22 stack
Optr; 23 stack
Opnd; 24 int len=strlen(str); 25 for(int i=0;i
b?a:b); 56 ++i; 57 break; 58 default: 59 Opnd.push(a
86 #include
87 using namespace std; 88 char str[1000]; 89 int start; 90 int val() 91 { 92 int v,n; 93 switch(str[start]) 94 { 95 case 'm':start+=3;if(str[start-2]=='i') return min(val(),val());else return max(val(),val()); 96 case 'a':start+=3;return val()+val(); 97 case ')': 98 case '(': 99 case ',':++start;return val();100 default:sscanf(str+start,"%d%n",&v,&n);start+=n;return v;101 }102 }103 int main()104 {105 int n;106 scanf("%d",&n);107 while(n--)108 {109 scanf("%s",str);110 start=0;111 printf("%d\n",val());112 }113 }

 

转载地址:http://gdeel.baihongyu.com/

你可能感兴趣的文章
checkedListBox的数据绑定
查看>>
iptables基本概念深入理解
查看>>
smarty前端常用标签
查看>>
Javascript数组小结
查看>>
我的友情链接
查看>>
2019年学习博文分享
查看>>
用python实现九九乘法表
查看>>
Mindscape WebWorkbench 支持Visual Studio 2012 最新破解
查看>>
大型网站技术架构(四)网站的高性能架构
查看>>
Log4j 1使用教程
查看>>
详解haproxy
查看>>
资深老师给小学生家长的建议
查看>>
MyBatis学习总结(14)——Mybatis使用技巧总结
查看>>
Windows server 2012 /2008从Windows Server Core 模式服务器转换为完全安装(图形模式)...
查看>>
<org manual>翻译--3.5.9 高级特性
查看>>
awk && sed (1)====积累取ip以及sed 查找替换
查看>>
SQL 内链接Inner Join和外连接Outer Join
查看>>
常用HTML正则表达式
查看>>
Tomcat,JDK,MySQL 官方历史版本下载链接
查看>>
Linux lsof命令详解
查看>>