记录编号 382923 评测结果 AAAAAAAAAA
题目名称 [NOIP 2013PJ]表达式求值 最终得分 100
用户昵称 GravatarRegnig Etalsnart 是否通过 通过
代码语言 C++ 运行时间 0.024 s
提交时间 2017-03-14 20:39:30 内存使用 0.29 MiB
显示代码纯文本
#include <cstdio>
int main() 
{
	freopen("expr2013.in","r",stdin);freopen("expr2013.out","w",stdout);
  const int M = 10000;
  char ch;
  int product = 1, num = 0, ans = 0;
  while ((ch = getchar()) != '\n') 
  { 
    if (ch == '*') 
	{ 
      product = product * num % M;
      num = 0;
    } 
	else if (ch == '+') 
	{
      ans = (ans + num * product) % M; //把乘法的最后一个因子也乘进去
      product = 1;
      num = 0;
    } 
	else 
	{
      num = (num * 10 + ch - '0') % M; // 数字也只保留 4 位,这样可以避免用 long long.
    }
  }
  printf("%d\n", (ans + num * product) % M); // 最后不要忘了把最后一项加进答案
  return 0;
}