1180: [NOIP2013普及组]表达式求值

来源:互联网 发布:沈航网络自助平台套餐 编辑:程序博客网 时间:2024/05/21 21:38

1180: [NOIP2013普及组]表达式求值

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 38  Solved: 12
[Submit][Status][Web Board]

Description

给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。

Input

输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号
,所有参与运算的数字均为0到231-1之间的整数。输入数据保证这一行只有0~ 9、+、*这12种字符。
0≤表达式中加法运算符和乘法运算符的总数≤100000

Output

输出只有一行,包含一个整数,表示这个表达式的值。
注意:当答案长度多于4位时,请只输出最后4位,前导0不输出。 

Sample Input

1+1*3+4 

Sample Output

8

AC代码:

#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int mod = 10000;int main(){int sum = 0, a = 0;char ch = '!';//初始化任意东西 while(1){if(ch == '\n') break;a = 0;ch = getchar();while(ch >= '0' && ch <= '9'){a = a * 10 + ch - '0';ch = getchar();}while(ch == '*'){int b = 0;ch = getchar();while(ch >= '0' && ch <= '9'){b = b * 10 + ch - '0';ch = getchar();}a = (a * b) % mod;}sum = (sum + a) % mod;}printf("%d", sum % mod);return 0;}



原创粉丝点击