最开始的想法是把算数运算符放到一个数组里,把数据放到一个字符里,但其实没必要定义数组,用几个变量就能解决,可以用%d读入数字部分,用%c读入字符部分,然后定义两个变量模拟加法乘法过程,一个变量负责累加,即碰到+则将+之前的累加到答案中,一个变量负责连乘,即储存连续相乘的一段元素的答案。
#include<stdio.h>
int main()
{
int t,x,s=0;
char c;
scanf("%d",&t);
while(scanf("%c",&c) && c !='\n')
{
scanf("%d",&x);
if(c=='*')
t = t*x%10000; //连续相乘的一段
else
{
s = (s + t)%10000; //答案累加
t = x%10000;
}
}
printf("%d\n",(s + t)%10000); //最后加上 最后一个加号之后的部分
return 0;
}