题目29:计算表达式
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:909
解决:333
- 题目描述:
-
对于一个不存在括号的表达式进行计算
- 输入:
-
存在多种数据,每组数据一行,表达式不存在空格
- 输出:
-
输出结果
- 样例输入:
-
6/2+3+3*4
- 样例输出:
-
18
#include <stdio.h> int main() { int i,j,k,a[100]; char x; while(scanf("%d",&k)!=EOF) { a[0]=0; i=0; a[++i]=k; while(scanf("%c",&x)!=EOF&&(x=='+'||x=='-'||x=='*'||x=='/')) { scanf("%d",&k); if(x=='+') a[++i]=k; else if(x=='-') a[++i]=-1*k; else if(x=='*') a[i]*=k; else a[i]/=k; } for(j=1;j<=i;j++) a[0]+=a[j]; printf("%d\n",a[0]); } return 0; }
本文介绍了一种计算不含括号的数学表达式的算法实现。通过使用数组存储中间结果,并根据运算符的不同依次进行加、减、乘、除操作,最终求得表达式的总和。
4768

被折叠的 条评论
为什么被折叠?



