openjudege -字符串-习题31:字符串P型编码

Posted fighting-qianying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openjudege -字符串-习题31:字符串P型编码相关的知识,希望对你有一定的参考价值。

31:字符串p型编码

总时间限制:
1000ms
内存限制:
65536kB
描述

给定一个完全由数字字符(‘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




c语言
#include<stdio.h>
#include<string.h>
int main()
{
 char a[1000];
 int len,i,k;
 while(gets(a)){
  len=strlen(a);
  for(i=0;a[i]!=‘\0‘;i++)
  {
   k=0;
   while(a[i]==a[i+1])
   {
    k++;
    i++; //主要是这里 i++,想到了就可以了,相当于两个循环
   }
   printf("%d%c",k+1,a[i]);
   }
   printf("\n");
 }
 return 0;
}
代码很短。但是很容易懂。

以上是关于openjudege -字符串-习题31:字符串P型编码的主要内容,如果未能解决你的问题,请参考以下文章