#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #include<stdbool.h> typedef struct{ char name[20]; int flag; }Children; int main(){ int a[3]; int b[3]; int n; char s[1000]; int k=0; while(scanf("%d",&n)!=EOF&&n!=0){ getchar(); printf("Case #%d:\n",++k); while(n--){ gets(s); for(int i=0;i<3;i++){ a[i]=0; b[i]=0; } int len=strlen(s); //printf("--%s--\n",s); for(int i=0;i<len;i++){ if(s[i]=='X'){ a[0]+=s[i-2]-'0'; b[0]=s[i+2]-'0'; } if(s[i]=='Y'){ a[1]+=s[i-2]-'0'; b[1]=s[i+2]-'0'; } if(s[i]=='Z'){ a[2]+=s[i-2]-'0'; b[2]=s[i+2]-'0'; } } //printf("%d %d %d\n",a[0],a[1],a[2]); for(int i=0;i<3;i++){ if(b[i]>0){ a[i]=a[i]*b[i]; b[i]--; } } if(a[0]>0){ printf("%d",a[0]); if(b[0]>0){ printf(" * X ^ %d",b[0]); } if(a[1]>0){ printf(" + "); printf("%d",a[1],b[1]); if(b[1]>0){ printf(" * Y ^ %d",b[1]); } } if(a[2]>0){ printf(" + "); printf("%d",a[2],b[2]); if(b[2]>0){ printf(" * Z ^ %d\n",b[2]); }else{ printf("\n"); } }else{ printf("\n"); } } else if(a[1]>0){ printf("%d",a[1]); if(b[1]>0){ printf(" * Y ^ %d",b[1]); } if(a[2]>0){ printf(" + "); printf("%d",a[2]); if(b[2]>0){ printf(" * Z ^ %d\n",b[2]); }else{ printf("\n"); } }else{ printf("\n"); } } else if(a[2]>0){ printf("%d",a[2]); if(b[2]>0){ printf(" * Z ^ %d\n",b[2]); }else{ printf("\n"); } } } } } |
Double click to view unformatted code.