View Code of Problem 11

#include<stdio.h>
#include<string.h>
int main()
{
	int n,count=0;
	while (scanf("%d",&n)!=EOF)
	{
		if (n == 0)break;
		count++;
		printf("Case #%d:\n", count);
		getchar();
		while (n--)
		{
			char s[2000];
			int a[3] = { 0 };
			int b[3] = { 0 };
			gets(s);
			int len = strlen(s);
			for (int i = 0; i < len; i++)
			{
				if (s[i] == 'X')
				{
					a[0] += s[i - 2] - 48;
					b[0] = s[i + 2] - 48;
				}
				if (s[i] == 'Y')
				{
					a[1] += s[i - 2] - 48;
					b[1] = s[i + 2] - 48;
				}
				if (s[i] == 'Z')
				{
					a[2] += s[i - 2] - 48;
					b[2] = s[i + 2] - 48;
				}
			}
			if (b[0] == 0 && a[0] != 0)
				printf("%d", a[0]);
			if (b[0] != 0 && a[0] != 0)
				printf("%d * X ^ %d", a[0] * b[0], b[0] - 1);
			if (a[0] != 0 && a[1] != 0)
				printf(" + ");
			if (b[1] == 0 && a[1] != 0)
				printf("%d", a[1]);
			if (b[1] != 0 && a[1] != 0)
				printf("%d * Y ^ %d", a[1] * b[1], b[1] - 1);
			if ((a[0] != 0 && a[2] != 0)||(a[1]!=0&& a[2] != 0))
				printf(" + ");
			if (b[2] == 0 && a[2] != 0)
				printf("%d", a[2]);
			if (b[2] != 0 && a[2] != 0)
				printf("%d * Z ^ %d", a[2] * b[2], b[2] - 1);
			printf("\n");
		}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 11