【模拟】表达式求值
发布日期:2021-05-07 22:49:34 浏览次数:18 分类:原创文章

本文共 689 字,大约阅读时间需要 2 分钟。

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

Input

输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘

法运算符“*”,且没有括号,所有参与运算的数字均为0 到231-1 之间的整数。输入数据保

证这一行只有0~ 9、+、*这12 种字符。

Output

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

请只输出最后4 位,前导0 不输出。


一道模拟。

#include<cstdio>int ans,l,k;char c;int main(){   	freopen("expr.in","r",stdin);	freopen("expr.out","w",stdout);	c=getchar();	l=1;	while(c>0&&c!=' '&&c!='\n'){   		if(c<='9'&&c>='0') k=(k*10+c-48)%10000;  //读入数字		else{   			l=l*k%10000;  //乘上,如果只是要加上的数的话,变成1*那个数			k=0;			if(c=='+'){      //如果是加法			    ans=(ans+l)%10000;  //加上去			    l=1;  //归一		    }		}		c=getchar();	}	l=l*k%10000;  //处理一下最后那个数	ans=(ans+l)%10000;	printf("%d",ans);  //输出	fclose(stdin);	fclose(stdout);}
上一篇:【最小生成树prim】给水
下一篇:【普及模拟】好数

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年03月29日 05时34分53秒