最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言字符串快速壓縮算法代碼

 更新時(shí)間:2015年03月10日 15:40:27   投稿:hebedich  
這篇文章主要介紹了C語(yǔ)言字符串快速壓縮算法代碼,將字符串中連續(xù)出席的重復(fù)字母進(jìn)行壓縮,其主要的壓縮字段的格式為”字符重復(fù)的次數(shù)+字符”。有需要的小伙伴參考下吧。

通過(guò)鍵盤輸入一串小寫字母(a~z)組成的字符串。
請(qǐng)編寫一個(gè)字符串壓縮程序,將字符串中連續(xù)出席的重復(fù)字母進(jìn)行壓縮,并輸出壓縮后的字符串。

壓縮規(guī)則:

1、僅壓縮連續(xù)重復(fù)出現(xiàn)的字符。比如字符串”abcbc”由于無(wú)連續(xù)重復(fù)字符,壓縮后的字符串還是”abcbc”。
2、壓縮字段的格式為”字符重復(fù)的次數(shù)+字符”。例如:字符串”xxxyyyyyyz”壓縮后就成為”3x6yz”。

示例

輸入:“cccddecc” 輸出:“3c2de2c”
輸入:“adef” 輸出:“adef”
輸入:“pppppppp” 輸出:“8p”

主要說(shuō)來(lái)就是進(jìn)行字符串處理類的問(wèn)題,主要涉及到:

1.字符串的輸入與輸出;
2.基本常用的C語(yǔ)言的字符串的函數(shù)使用;
3.對(duì)于多重情況的考慮;
4.將數(shù)字轉(zhuǎn)換成字符串并進(jìn)行拼接;

復(fù)制代碼 代碼如下:

#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 
int main() 

    char str[100] = {'\0'}; 
    char res[100] = {'\0'}; 
    scanf("%s",str); 
    int length = strlen(str); 
    int i=0, j=0, k=0; 
    int count = 0; 
    do 
    { 
        if(i < length && str[i++] == str[j]) 
            count++; 
        if(str[i] != str[j]) 
        { 
            if(count <= 1) 
                res[k++] = str[j]; 
            else 
            { 
                if(count > 1) 
                { 
                    char temp[10] = {'\0'}; 
                    itoa(count,temp,10); 
                    strcpy(res+k,temp); 
                    k+=strlen(temp); 
                    res[k++] = str[j]; 
                } 
            } 
            j = i; 
            count = 0; 
        } 
    }while(i<length); 
    res[k] = '\0'; 
    printf("The result is : %s\n",res); 
    return 0; 

以上就是本文給大家分享的字符串壓縮算法的全部?jī)?nèi)容了,希望對(duì)大家學(xué)習(xí)C語(yǔ)言能夠有所幫助。

相關(guān)文章

最新評(píng)論

察雅县| 佳木斯市| 武汉市| 顺义区| 光山县| 中山市| 城市| 平果县| 宝清县| 绥滨县| 北票市| 彭州市| 吉木乃县| 浦东新区| 龙川县| 尉犁县| 佛教| 柳河县| 赣州市| 济宁市| 宁安市| 大名县| 交城县| 襄垣县| 格尔木市| 油尖旺区| 太仆寺旗| 任丘市| 南通市| 左贡县| 诸城市| 广河县| 酒泉市| 吉木乃县| 罗定市| 阿瓦提县| 定襄县| 河曲县| 宁蒗| 同仁县| 逊克县|