一、压缩函数编写
当输入字符串时,读取第一个字符,然后往后面数相同的字符,并记录相同字符个数,直到出现一个不同的字符为止,并记录该字符以及个数;然后记录读取紧接下来不同与第一个的字符,并以此记录后面连续是同一字符的个数,知道出现另一个不同的为止;以此循环,写入新的数列。(注意数列结尾一定要有'\0')代码如下:
void Cn(char p[100], char* q)
{
int i = 0, j = 0;
int flag = 1;
char a = 0;
while (p[i])
{
a = p[i];
i++;
while (a == p[i])
{
flag++;
i++;
}
*(q + j) = a;
j++;
*(q + j) = 48 + flag;
flag = 1;
j++;
}
*(q + j) = '\0';
}
二、解压函数的编写
读取压缩后的字符串,奇数位为字符,偶数位位相应字符的个数,一次输入到新的数列;(注意数列结尾一定要有'\0