编码
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给你一个由大写字母组成的组成的字符串,你可以用如下规则对其进行编码:1、 包含K个相同字母的连续字符串可以用KX表示,其中X是相同的字母。2、 如果K为1,不输出K
输入
输入有多组,直到文件结束。每组一个字符串,长度为10000以内
输出
输出编码后的字符串。
示例输入
ABC
ABBCCC
示例输出
ABC
A2B3C
#include <stdio.h>
#include <string.h>
int main()
{
char a[10001],s;
int n,i,j,num;
while(~scanf("%s",a))
{
s=a[0];
num=1;
n=strlen(a);
for(i=1; i<n; i++)
{
if(s==a[i])
num++;//如果后一项等于s,num加1
else
{
if(num!=1)
printf("%d",num);
printf("%c",s);
s=a[i];
num=1;
}
}
if(num!=1)
printf("%d",num);
printf("%c\n",s);
memset(a,0,sizeof(a));//把数组清零
}
return 0;
}