编码
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; }