時間限制: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 ****************************************************************/