View Code of Problem 11

#include<stdio.h> 
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>

int main(){ 
    int i,j,n,k=1;
	while(scanf("%d",&n)!=EOF){
		getchar();
		if(n==0) break;
		printf("Case #%d:\n",k++);
		for(i=0;i<n;i++){
			char str[2001];
			int a=0,b=0,c=0,n1=0,n2=0,n3=0;
			gets(str);
			int len=strlen(str);
			for(j=0;j<len;j=j+2){
			   switch(str[j]){
			   	  case 'X':a+=str[j-2]-48;
			   	           n1=str[j+2]-48;
			   	           break;
			   	  case 'Y':b+=str[j-2]-48;
			   	           n2=str[j+2]-48;
			   	           break;
			   	  case 'Z':c+=str[j-2]-48;
			   	           n3=str[j+2]-48;
			   	           break;
			   	   default:break;
			   } 
			}
			
		    if(a!=0&&n1!=0) printf("%d * X ^ %d",a*n1,n1-1);
			else if(a!=0&&n1==0) printf("%d",a);
			if((a!=0&&b!=0)||(a!=0&&c!=0)) printf(" + ");
			if(n2==0&&b!=0) printf("%d",b) ;
			else if(n2!=0&&b!=0) printf("%d * Y ^ %d",b*n2,n2-1);
			if(b!=0&&c!=0) printf(" + ");
			if(n3==0&&c!=0) printf("%d",c) ;
			else if(n3!=0&&c!=0) printf("%d * Z ^ %d",c*n3,n3-1);
			printf("\n");
		}
		
	} 
    return 0; 
     
}

Double click to view unformatted code.


Back to problem 11