对于一个不存在括号的表达式进行计算(我的程序哪里不对?)
题目描述:对于一个不存在括号的表达式进行
计算输入:
存在多种数据,每组数据一行,表达式不存在空格
输出:
输出结果
样例输入:6/2+3+3*4
样例输出:18
程序代码:
#include <stdio.h> int main(){ double a[200]; double sum; char c; int tmp,i; while(scanf("%d",&tmp)!=EOF){ i=0; a[i]=tmp; while(scanf("%c",&c)!=EOF&&(c!='\n')){ scanf("%d",&tmp); if(c=='*') a[i]*=tmp; else if(c=='/') a[i]/=tmp; else if(c=='+') a[++i]=tmp; else a[++i]=-tmp; } sum=0; for(;i>=0;i--) sum+=a[i]; printf("%d\n",sum); } return 0; }输出的结果总是0,⊙﹏⊙b汗
(PS:不要纠结于输入输出格式,题目也没要求)