華為機試題 字串壓縮

2021-06-18 15:39:36 字數 905 閱讀 9432

/*

題目描述(40分):

通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。

壓縮規則:

1. 僅壓縮連續重複出現的字元。比如字串"abcbc"由於無連續重複字元,壓縮後的字串還是"abcbc".

2. 壓縮欄位的格式為"字元重複的次數+字元"。例如:字串"***yyyyyyz"壓縮後就成為"3x6yz"

要求實現函式: 

void stringzip(const char *pinputstr, long linputlen, char *poutputstr);

【輸入】 pinputstr:  輸入字串

linputlen:  輸入字串長度         

【輸出】 poutputstr: 輸出字串,空間已經開闢好,與輸入字串等長;

【注意】只需要完成該函式功能演算法,中間不需要有任何io的輸入輸出

示例 輸入:「cccddecc」   輸出:「3c2de2c」

輸入:「adef」     輸出:「adef」

輸入:「pppppppp」 輸出:「8p」

*/

include #include#includevoid stringzip(const char *p_str, long len, char *p_outstr)  

else

count=0;

} }*p_outstr++='\0';}

void main()

解析:這個題目的要求其實就是乙個點,計算相鄰的重複字元的個數,就是函式中的count,其中要注意的是輸出時,要把數字1轉換成字元『1』;

*p_outstr++ = count+'0';

2014華為機試題 字串壓縮

9月5日,華為2014校園招聘的機試題目 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1 僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2 壓縮欄位的格式為...

華為機試題 字串替換

描述 寫出乙個程式,接受三個引數,分別是乙個字串和兩個字元,然後輸出替換字元後的字串。區分大小寫。例如1 輸入 abcdef,a,b 輸出 bbcdef 例如2 輸入 aabcdef,a,c 輸出 ccbcdef include include include oj.h 功能 輸入 輸出 返回 成功...

華為機試 字串過濾 字串壓縮

完全原創也不是了,不過這是乙個學習的過程。華為校園招聘的機試題目 一 題目描述 通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。比如字串 abacacde 過濾結果為 abcde 要求實現函式 void stringfilt...