题目1101:计算表达式
时间限制:1 秒
内存限制:32 兆
特殊判题:否
-
题目描述:
-
对于一个不存在括号的表达式进行计算
-
输入:
-
存在多种数据,每组数据一行,表达式不存在空格
-
输出:
-
输出结果
-
样例输入:
-
6/2+3+3*4
-
样例输出:
-
18
-
来源:
- 2010年上海交通大学计算机研究生机试真题
-
#include "stdio.h" #define MAX 100 int stack[MAX];//定义数组 int tail; int main(){ int a; while(scanf("%d",&a)!=EOF){ //输入数值 tail=0; stack[0]=0; stack[++tail]=a;//入栈 char ch1; while(scanf("%c",&ch1)!=EOF&&(ch1=='+'||ch1=='-'||ch1=='*'||ch1=='/')){ //输入符号 scanf("%d",&a); if(ch1=='+'){ //"+" stack[++tail]=a; }else if(ch1=='-'){ //"-" stack[++tail]=-1*a; }else if(ch1=='*'){ //"*" stack[tail]=stack[tail]*a; }else if(ch1=='/'){ //"/" stack[tail]=stack[tail]/a; } } for(int i=1;i<=tail;i++) stack[0]+=stack[i]; printf("%d\n",stack[0]); //输出结果 } } /************************************************************** Problem: 1101 User: zpy Language: C++ Result: Accepted Time:0 ms Memory:1020 kb ****************************************************************/