View Code of Problem 11

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

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