華為機試題目整理

2021-07-03 10:48:24 字數 2483 閱讀 4121

最近又到了招聘季了,現在也輪到我畢業了。針對華為的機試題目,我整理了一下自己寫的一部分**。

**參考別人和自己的理解寫的,經過測試,可以執行。

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

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

要求實現函式:

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

【輸入】 pinputstr:輸入字串

linputlen: 輸入字串長度

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

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

void main()

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

; if (pinputstr == null || poutputstr == null)

for (index_i = 0; index_i < linputlen; index_i++) }

poutputstr[index_o] = '\0';

}

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

壓縮規則:

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

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

要求實現函式:

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

【輸入】 pinputstr: 輸入字串

linputlen: 輸入字串長度

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

#include#includevoid stringzip(const char *pinputstr, long linputlen, char *poutputstr);

void main()

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

for (index_i = 0; index_i < linputlen;)

else

poutputstr[index_o++] = f + '0';

poutputstr[index_o++] = pinputstr[index_i];

index_i = index_i + f;

} f = 1;

} poutputstr[index_o] = '\0';

}

5.通過鍵盤輸入100以內正整數的加、減表示式,請編寫乙個程式輸出運算結果字串。

輸入字串的格式為:「運算元1 運算子 運算元2」,「運算元」與「運算子」之間以乙個空格隔開。

補充說明:

1. 運算元為正整數,不需要考慮計算結果溢位的情況。

2. 若輸入算式格式錯誤,輸出結果為「0」。

要求實現函式:

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

【輸入】 pinputstr: 輸入字串

linputlen: 輸入字串長度

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

#include#includevoid arithmetic(const char *pinputstr, long linputlen, char *poutputstr);

void main()

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

for (int i = 0; iif (cnt != 2)

if (sscanf(pinputstr, "%d %c %d", &num1, &c, &num2) != 3)

if (c == '+')

else if (c == '-')

else

itoa(out, poutputstr, 10);

}

華為機試題目

在網上找了一些華為機試的題目,每日堅持寫 1 字元 字串與數值間的轉換 分析 int i ch 48 這個語句完成了單個字元 ch 轉化為數字並存入整型變數 i 的功能。因為字元 0 在 ascii 碼中對應了 48,後面的數值也是以 1 遞增,所以用它對應的ascii碼減去48就是這單個字元的整數...

2 11 華為招聘機試題目整理 2018

題目 1.數字處理 題目描述 給出乙個不多於5位的整數,進行反序處理,要求 1 求出它是幾位數 2 分別輸出每乙個數字 空格隔開 3 按逆序輸出各位數字 僅數字間以空格間隔,負號與數字之間不需要間隔 輸入描述 位數不大於5的整數 輸出描述 1.整數字數 2.空格間隔輸出結果 3.逆序整數 inclu...

華為2016機試題目

昨天去華為南研機試 故地重遊 沒啥感慨 題目很簡單 第一題 輸入乙個字串,輸出其中字母 數字 空格 其他字元的個數 輸入乙個字元之後 直接比較就行 邊界條件 也就是判斷是否為空 核心 如下 void countnumber char str,int numofletter,int numofnumb...