#include<stdio.h> #include <string.h> #include <math.h> int test(char s[]); void main() { int sum,i=0,j=0; char s[100],b[100]; gets(s); for(i=0;i<strlen(s);i++) { if(s[i]!=' ') { b[j]=s[i]; j++; } } b[j]='\0'; printf("%d",test(b)); } int test(char s[]) { static int i=0; int n=0,k=0,temp=i+1,a[100],j=0,sum; if(s[i]=='(') { i=i+2; n++; } while(n) { while(s[i]<='9'&&s[i]>='0') { a[j]=(int)(s[i]-'0'); i++; j++; } if(s[i]=='(') { a[j]=test(s); j++; } if(s[i]==')') n--; } if(s[temp]=='+') { sum=a[0]; for(k=1;k<j;k++) sum=sum+a[k]; } if(s[temp]=='-') { sum=a[0]; for(k=1;k<j;k++) sum=sum-a[k]; } if(s[temp]=='*') { sum=a[0]; for(k=1;k<j;k++) sum=sum*a[k]; } if(s[temp]=='/') { sum=a[0]; for(k=1;k<j;k++) sum=sum/a[k]; } temp=1; i++; return sum; } |
Double click to view unformatted code.