#include<stdio.h> #include<math.h> #include<string.h> //#include<algorithm> #include <bits/stdc++.h> int main() { int t; int k=1; while(scanf("%d",&t)) { getchar(); if(t==0) { break; } printf("Case #%d:\n",k); for(int i=0; i<t; i++) { char str[1001]; gets(str); int xxi=0,yxi=0,zxi=0; int xmi,ymi,zmi; for(int j=0; j<strlen(str); j++) { if(str[j]=='X') { // printf("%d\n",str[j-2]); xxi=xxi+str[j-2]-'0'; xmi=str[j+2]-'0'; } else if(str[j]=='Y') { yxi=yxi+str[j-2]-'0'; ymi=str[j+2]-'0'; } else if(str[j]=='Z') { zxi=zxi+str[j-2]-'0'; zmi=str[j+2]-'0'; } } if(xmi==0) { xmi=1; } if(ymi==0) { ymi=1; } if(zmi==0) { zmi=1; } // printf("%d %d %d %d %d %d\n",xxi,yxi,zxi,xmi,ymi,zmi); xxi=xxi*xmi; yxi=yxi*ymi; zxi=zxi*zmi; xmi--; ymi--; zmi--; if(xxi>0) { //输出 if(ymi>0) printf("%d * X ^ %d",xxi,xmi); else if(xmi==0) //x的指数为1,直接输出系数 printf("%d",xxi); if(yxi>0) printf(" + "); else { //y不输出,但还要输出z if(zxi>0) printf(" + "); } } if(yxi>0) { if(ymi>0) printf("%d * Y ^ %d",yxi,ymi); else if(ymi==0) printf("%d",yxi); if(zxi>0) printf(" + "); } if(zxi>0) { if(zmi>0) printf("%d * Z ^ %d",zxi,zmi); else if(zmi==0) printf("%d",zxi); } printf("\n"); } k++; } } |
Double click to view unformatted code.