ACM1020:Encoding

Problem Description
Given a string containing only 'A' - 'Z', we could encode it using the following method: 
1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only character in this sub-string.
2. If the length of the sub-string is 1, '1' should be ignored.
 
Input
The first line contains an integer N (1 <= N <= 100) which indicates the number of test cases. The next N lines contain N strings. Each string consists of only 'A' - 'Z' and the length is less than 10000.
 
Output
For each test case, output the encoded string in a line.
 
Sample Input
2
ABC
ABBCCC
 
Sample Output
ABC
A2B3C
------------------------------------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
int main()
{
	int N, length, count;
	char str[10001];
	scanf("%d", &N);
	while (N)
	{
		scanf("%s", str);
		length = strlen(str);
		count = 1;
		for (int i = 1; i <= length; i++)
		{
			if (str[i] == str[i - 1])
				count++;
			else
			{
				if (count == 1)
					printf("%c", str[i - 1]);
				else
				{
					printf("%d%c", count, str[i - 1]);
					count = 1;
				}
			}
		}
		printf("\n");
		N--;
	}
	return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/mycodinglife/p/10554778.html