-
题目描述:
-
对于一个不存在括号的表达式进行计算
-
输入:
-
存在多种数据,每组数据一行,表达式不存在空格
-
输出:
-
输出结果
-
样例输入:
-
6/2+3+3*4
-
样例输出:
-
18
思路:
动态规划题,程序过程中保存两个数和中间的操作数即可。
代码:
#include<stdio.h>
int main(void)
{
int a;
char c;
while(scanf("%d",&a) != EOF)
{
int e = 0,i = 0,b[100];
b[++i] = a;
while(scanf("%c",&c) != EOF && (c == '+' || c == '-' || c == '*' || c == '/'))
{
scanf("%d",&a);
if(c == '+')
b[++i] = a;
if(c == '-')
b[++i] = -1 * a;
if(c == '*')
b[i] *= a;
if(c == '/')
b[i] /= a;
}
for(int j = 1; j <= i; ++j)
e += b[j];
printf("%d\n",e);
}
return 0;
}
/**************************************************************
Problem: 1101
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/