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;
}
上一题
下一题