测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A24160. 字符串p型编码

填空题 中等

题目描述

字符串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个数字字符。

输出

输出该字符串对应的p型编码串。

输入样例

122344111

输出样例

1122132431

参考答案

#include<bits/stdc++.h> using namespace std; int main() { char s[1005], curNum;//curNum:当前数字 int ct = 0, len; cin >> s; len = strlen(s); curNum = s[0]; for(int i = 0; i <= len; ++i)//当i为len时,s[i]为'\0'一定不等于字符1~9 { if(s[i] == curNum) ct++; else { cout << ct << curNum; curNum = s[i]; ct = 1; } } return 0; }

答案解析


#include<bits/stdc++.h>
using namespace std;

int main()
{
	char s[1005], curNum;//curNum:当前数字 
	int ct = 0, len; 
	cin >> s;
	len = strlen(s);
	curNum = s[0];
	for(int i = 0; i < len; ++i)
	{
		if(s[i] == curNum)
			ct++;
		else
		{
			cout << ct << curNum;
			curNum = s[i];
			ct = 1;
		}
	}
	cout << ct << curNum;//输出最后一个数字的数量及是哪个数字
	return 0; 
}


上一题 下一题