只压缩其中重复小写字母的字符串

通过键盘输入一个字符串,请编写一个字符串压缩程序,将字符串中连续出现的重复小写字母(a~z)进行压缩,并输出压缩后的字符串。压缩规则如下:

1)仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc"。

2)压缩字段的格式为"字符重复的次数+字符"。

【输入】字符串

【输出】压缩后的字符串

示例:  输入:"cccddecc”,输出:"3c2de2c"
输入:“AAA”,输出:"AAA"**



#include <stdio.h>
#include <string.h>
#define LEN 100
void stringZip(char *pInputStr, long lInputLen, char *pOutputStr)
{
    char *p = pInputStr;
    int num = 1;
    int i = 0;
    int size;
    int temp;
    int j;
    while (*p != '\0')
    {
        while (*p == *(p + 1) && *p != '\0' && *p >= 'a' && *p <= 'z')
        {
            num++;
            p++;
        }
        if (num > 1)
        {
            size = 0;
            temp = num;
            while (num)
            {
                size++;
                num /= 10;
            }
            num = 1;
            for (j = size; j > 0; j--)
            {
                pOutputStr[i + j - 1] = '0' + temp % 10;
                temp /= 10;
            }
            i += size;
            pOutputStr[i++] = *p;
            p++;
        }
        else
        {
            pOutputStr[i++] = *p;
            p++;
        }
    }
    pOutputStr[i] = '\0';
}
int main()
{
    char pInputStr[LEN];
    char pOutputStr[LEN];
    gets(pInputStr);
    stringZip(pInputStr, strlen(pInputStr), pOutputStr);
    printf("%s\n", pOutputStr);
    return 0;
}