#include <stdio.h> int main() { int t, i, j, pos = 1; int a, c; char b, s; struct node { int xishu; int zhishu; }; struct node xx, yy, zz; scanf ("%d", &t); while (t != 0) { printf("Case #%d:\n", pos); pos++; for (i=0; i<t; i++) { xx.xishu = 0; xx.zhishu = -1; yy.xishu = 0; yy.zhishu = -1; zz.xishu = 0; zz.zhishu = -1; scanf("%d %c %d", &a, &b, &c); if (b == 'X') { xx.xishu += a; xx.zhishu = c; } if (b == 'Y') { yy.xishu += a; yy.zhishu = c; } if (b == 'Z') { zz.xishu += a; zz.zhishu = c; } s = getchar(); while (s != '\n') { scanf("%d %c %d", &a, &b, &c); if (b == 'X') { xx.xishu += a; xx.zhishu = c; } if (b == 'Y') { yy.xishu += a; yy.zhishu = c; } if (b == 'Z') { zz.xishu += a; zz.zhishu = c; } s = getchar(); } if (xx.xishu != 0) { if ( (xx.zhishu == 0) || (xx.zhishu == 1) ) printf("%d", xx.xishu); else { xx.xishu *= xx.zhishu; xx.zhishu--; printf("%d * X ^ %d", xx.xishu, xx.zhishu); } } if (yy.xishu != 0) { if (xx.xishu != 0) printf(" + "); if ( (yy.zhishu == 0) || (yy.zhishu == 1) ) printf("%d", yy.xishu); else { yy.xishu *= yy.zhishu; yy.zhishu--; printf("%d * Y ^ %d", yy.xishu, yy.zhishu); } } if (zz.xishu != 0) { if ( (xx.xishu != 0) || (yy.xishu != 0) ) printf(" + "); if ( (zz.zhishu == 0) || (zz.zhishu == 1) ) printf("%d", zz.xishu); else { zz.xishu *= zz.zhishu; zz.zhishu--; printf(" %d * Z ^ %d", zz.xishu, zz.zhishu); } } printf("\n"); } scanf ("%d", &t); } return (0); } |
Double click to view unformatted code.