字符串 p 型编码
题目描述
给定一个完全由数字字符(‘0’,‘1’,‘2’,…,‘9’)构成的字符串 str ,请写出 str 的 p 型编码串。例如:字符串 122344111
可被描述为 1个1、2个2、1个3、2个4、3个1
,因此我们说122344111
的 p 型编码串为 1122132431
;类似的道理,编码串 101
可以用来描述 1111111111
;00000000000
可描述为 11个0
,因此它的p型编码串即为 110
;100200300
可描述为 1个1、2个 0、1个2、2个0、1个3、2个0
,因此它的 p 型编码串为 112012201320
。
输入格式
输入仅一行,包含字符串 str。每一行字符串最多包含 1000 1000 1000 个数字字符。
输出格式
输出该字符串对应的 p p p 型编码串。
样例 #1
样例输入 #1
122344111
样例输出 #1
1122132431
#include<stdio.h>
#include<math.h>
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
int main(){
char str[5000];
int n,fist,next,i,j,sum;
while(scanf("%s",str)!=EOF){
n=strlen(str);//记录字符串长度
fist=str[0];
sum=1;
for(i=1;i<n;i++){
next=str[i];
if(next!=fist){
printf("%d%c",sum,fist);
sum=1;
}
else{
sum++;
}
fist=next;
}
printf("%d%c",sum,fist);//输出最后一组编码
}
printf("\n");
return 0;//CSDN:旺旺的碎冰冰~
}