華為2023年兩上機題

2021-06-13 13:33:42 字數 1641 閱讀 8405

題目描述(60分):

通過鍵盤輸入一串小寫字母(a~z)組成的字串。請編寫乙個字串過濾程式,若字串中出現多個相同的字元,將非首次出現的字元過濾掉。

比如字串「abacacde」過濾結果為「abcde」。

要求實現函式:

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

【輸入】 pinputstr:  輸入字串

linputlen:  輸入字串長度        

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

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

示例輸入:「deefd」        輸出:「def」

輸入:「afafafaf」     輸出:「af」

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

下面是我的程式,其實這個題太簡單了,由此可見大公司在招聘的時候也看的是我們的基本功:這裡沒考慮演算法優劣問題了,他的上機環境是執行成功就通過

#include #include #include void stringfilter(const char *pinputstr,long linputlen, char *poutputstr);

int main()

void stringfilter(const char *pinputstr,long linputlen, char *poutputstr)

} if(mark == false)

poutputstr[n++] = pinputstr[i];

i++;

}}

題目描述(40分):

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

壓縮規則:

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

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

要求實現函式:

void stringzip(const char *pinputstr, longlinputlen, char *poutputstr);

【輸入】 pinputstr:  輸入字串

linputlen:  輸入字串長度        

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

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

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

int main()

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

poutputstr[n] = '\0';

}

經過我的經驗觀察,華為在每年招聘的時候字串處理永遠是寵兒,所以面試的時候還是多熟悉下

2023年北理複試上機題

這題遇到了很多問題,首先是sscanf 在使用這個時,無論是前面的字串還是後面用來接受的變數,注意都是字元陣列,不要用string,但可以接收後,直接賦值給string。char 型別給string 直接賦值,反之不可,用for i 0 i當結構體型別是 迭代器 it,訪問它內容的時候就不要 直接i...

華為2012校園招聘上機程式設計題(2)

1 刪除字串中所有給定的子串 問題描述 在給定字串中查詢所有特定子串並刪除,如果沒有找到相應子串,則不作任何操作。要求實現函式 int delete sub str const char str,const char sub str,char result str 輸入 str 輸入的被操作字串 s...

2012華為2023年9月17日上機題目之最長回文

一段字串中提取最長的回文長度 淺顯易懂的想法就是假設任何乙個位置的字元為回文中心,進行兩個方向的擴散,進而提取最長回文。這是最樸素的想法 如下 1 include iostream 2 include string 3using namespace std 45 char str 100 abbbb...