View Code of Problem 94

#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.


Back to problem 94