#include <stdio.h>
#define MAXS 20
void zip( char *p );
void ReadString( char *s ); /* 由裁判实现,略去不表 */
int main()
{
char s[MAXS];
ReadString(s);
zip(s);
printf("%s\n", s);
return 0;
}
/* 请在这里填写答案 */
#include<string.h>
void zip( char *p )
{
int i,j,c=1,k=0,l;
l=strlen(p);
for(i=0;i<l;i++)
{
if(p[i]==p[i+1])
c++;
else if(p[i]!=p[i+1])
{
if(c==1)
{
p[k]=p[i];
k++;
c=1;
}
else if(c>=2&&c<=9)
{
p[k]=c+48;
k++;
p[k]=p[i];
k++;
c=1;
}
else if(c>=10)
{
p[k]=(c/10)+48;
k++;
p[k]=(c%10)+48;
k++;
p[k]=p[i];
k++;
c=1;
}
}
}
p[k]='\0';
}
想知道具体怎么改对!?/、
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-