View Code of Problem 11

#include <stdio.h>
#include <string.h>
int main(){
  int n;
  char a[2000];
  int flag1,flag2,flag3;
  int length;
  int i,j,q,k=1;
  while (scanf("%d",&n)){
    if(n==0)
      break;
    q=n;
    for(i=0;i<n+1;i++){
		flag1=0,flag2=0,flag3=0;
		int x[2]={0},y[2]={0},z[2]={0};

      gets(a);
      length=strlen(a)-1;
      for(j=0;j<length;j++){
        if(a[j]=='X'){
          flag1=1;
          x[0]=x[0]+(int)(a[j-2]-'0');
          x[1]=(int)(a[j+2]-'0');
        }
        if(a[j]=='Y'){
          flag2=1;
          y[0]=y[0]+(int)(a[j-2]-'0');
          y[1]=(int)(a[j+2]-'0');
        }
        if(a[j]=='Z'){
          flag3=1;
          z[0]=z[0]+(int)(a[j-2]-'0');
          z[1]=(int)(a[j+2]-'0');
        }
      }
        if(q==n){
          printf("Case #%d:\n",k++);
          q--;
        }
        if(flag1){
          if(flag2==0&&flag3==0){
            if(x[1]!=0)
            printf("%d * X ^ %d\n",x[0]*x[1],x[1]-1);
            else
              printf("%d\n",x[0]);
          }
          else{
            if(x[1]!=0)
              printf("%d * X ^ %d + ",x[0]*x[1],x[1]-1);
            else
              printf("%d + ",x[0]);
          }
            
        }
        if(flag2){
          if(flag3==0){
            if(y[1]!=0)
            printf("%d * Y ^ %d\n",y[0]*y[1],y[1]-1);
            else
              printf("%d\n",y[0]);
          }
          else{
            if(y[1]!=0)
              printf("%d * Y ^ %d + ",y[0]*y[1],y[1]-1);
            else
              printf("%d + ",y[0]);
          }
            
        }
        if(flag3){
         
            if(z[1]!=0)
            printf("%d * Z ^ %d\n",z[0]*z[1],z[1]-1);
            else
              printf("%d\n",z[0]);
          
          
            
        }
        
        
      
    }
  }
  
  
  
  
  return 0;


}

Double click to view unformatted code.


Back to problem 11