2014華為機試題 字串壓縮

2021-06-18 11:39:23 字數 1449 閱讀 8528

9月5日,華為2014校園招聘的機試題目

通過鍵盤輸入一串小寫字母(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」

用vc6.0寫了個程式除錯了下

**如下:

#include #include #define maxchar 5000 //最長處理5000個字元

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

int main()

input[i] = '\0';

stringzip(input, i, output);

printf("before string zip method: %s\n", input);

printf("after string zip method: %s\n", output);

return 0;

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

else

else if(num < 10 && num > 1)

else if(num > 9 && num < 100)

else if(num >= 100)

num = 1;

} }*(poutputstr + j) = '\0';

}

執行結果如下:

華為機試題 字串壓縮

題目描述 40分 通過鍵盤輸入一串小寫字母 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...