View Code of Problem 11

#include<stdio.h>
#include<math.h>
#include<string.h>  
int main(){ 
  int i,j,n,t,k=0;
  char s[2000];
  while(scanf("%d",&t)!=EOF){
  	if(t==0) break;
  	int flag=1;
  	while(t--){
 	
    gets(s);
  	int a=0,b=0,c=0,n1=0,n2=0,n3=0,m=1;
  
  	for(i=2;i+3<=strlen(s);i=i+6){
  		switch(s[i]){
  			case 'X':a+=s[i-2]-48;
  			         n1=s[i+2]-48;
  			         break;
  			case 'Y':b+=s[i-2]-48;
  			         n2=s[i+2]-48;
  			         break;
  			case 'Z':c+=s[i-2]-48;
  			         n3=s[i+2]-48;
  			         break;
		  }
		if(flag){
			printf("Case #%d:\n",++k);
			flag=0;
		}
		if(n1!=0&&a!=0){
			a*=n1;
			n1--;
			printf("%d * X ^ %d",a,n1);
		}
		else if(n1==0){
			printf("%d",a);
		}
		else{
			m=0;
		}
		if(n2!=0&&b!=0){
			if(m==1)
			printf(" + ");
			m=1;
			b*=n2;
			n2--;
			printf("%d * Y ^ %d",b,n2);
		}
		else if(n2==0&&b!=0){
			if(m==1)
			printf(" + ");
			m=1;
			printf("%d",b);
		}
		
		if(n3!=0&&c!=0){
			if(m==1)
			printf(" + ");
			m=1;
			c*=n3;
			n3--;
			printf("%d * Z ^ %d",c,n3);
		}
		else if(n3==0&&c!=0){
			if(m==1)
			printf(" + ");
			printf("%d\n",c);
		}
	
	  }
  	
  }
  }
  
	return 0;
} 

Double click to view unformatted code.


Back to problem 11