華為2013上機筆試題

2022-04-27 23:07:23 字數 1823 閱讀 7304

1 字串轉換

問題描述:

將輸入的字串(字串僅包含小寫字母『a』到『z』),按照如下規則,迴圈轉換後輸出:a->b,b->c,…,y->z,z->a;若輸入的字串連續出現兩個字母相同時,後乙個字母需要連續轉換2次。例如:aa 轉換為 bc,zz 轉換為 ab;當連續相同字母超過兩個時,第三個出現的字母按第一次出現算。

要求實現函式:

void convert(char *input,char* output)

【輸入】  char *input , 輸入的字串

【輸出】  char *output ,輸出的字串

【返回】 無

示例輸入:char*input="abcd" 

輸出:char*output="bcde"

輸入:char*input="abbbcd" 

輸出:char*output="bcdcde"

1

void convert(char *input,char *output) 2

11 output[i+1]='\0'

;12for(i=1;i//

aa 轉換為 bc,zz 轉換為 ab

1319

}20 }

2 字串處理轉換

問題描述:    

在給定字串中找出單詞( 「單詞」由大寫字母和小寫字母字元構成,其他非字母字元視為單詞的間隔,如空格、問號、數字等等;另外單個字母不算單詞);找到單詞後,按照長度進行降序排序,(排序時如果長度相同,則按出現的順序進行排列),然後輸出到乙個新的字串中;如果某個單詞重複出現多次,則只輸出一次;如果整個輸入的字串中沒有找到單詞,請輸出空串。輸出的單詞之間使用乙個「空格」隔開,最後乙個單詞後不加空格。

要求實現函式:

void my_word(charinput, char output)

【輸入】  char input, 輸入的字串

【輸出】  char output,輸出的字串

【返回】 無

示例輸入:charinput="some local buses, some1234123drivers" ,

輸出:charoutput="drivers local buses some"

輸入:charinput="%a^123 t 3453i*()" ,

輸出:charoutput=""

3 正數減法

問題描述:    

兩個任意長度的正數相減,這兩個正數可以帶小數點,也可以是整數,請輸出結果。 輸入的字串中,不會出現除了數字與小數點以外的其它字元,不會出現多個小數點以及小數點在第乙個字元的位置等非法情況,所以考生的程式中無須考慮輸入的數值字串非法的情況。 

詳細要求以及約束:

1.輸入均為正數,但輸出可能為負數; 

2.輸入輸出均為字串形式;

3.如果輸出是正數則不需要帶符號,如果為負數,則輸出的結果字串需要帶負號

例如:2.2-1.1 直接輸出為「1.1」,1.1-2.2 則需要輸出為「-1.1」

4.輸出的結果字串需要過濾掉整數字前以及小數字後無效的0,小數字為全0的,直接輸出整數字

例如相減結果為11.345,此數值前後均不可以帶0,「011.345」或者「0011.34500」等等前後帶無效0的均視為錯誤 輸出。例如1.1-1.1結果為0.0,則直接輸出0。

要求實現函式:

void decrease(char *input1, char*input2, char *output)

【輸入】 char *iinput1 被減數

char*nput2 減數 

【輸出】 char *output 減法結果

【返回】 無

華為2013校園招聘上機筆試題

上機時間兩小時,3道題 1 字串轉換 問題描述 將輸入的字串 字串僅包含小寫字母 a 到 z 按照如下規則,迴圈轉換後輸出 a b,b c,y z,z a 若輸入的字串連續出現兩個字母相同時,後乙個字母需要連續轉換2次。例如 aa 轉換為 bc,zz 轉換為 ab 當連續相同字母超過兩個時,第三個出...

華為2013校園招聘上機筆試題

上機時間兩小時,3道題 1 字串轉換 問題描述 將輸入的字串 字串僅包含小寫字母 a 到 z 按照如下規則,迴圈轉換後輸出 a b,b c,y z,z a 若輸入的字串連續出現兩個字母相同時,後乙個字母需要連續轉換2次。例如 aa 轉換為 bc,zz 轉換為 ab 當連續相同字母超過兩個時,第三個出...

華為2016上機筆試題

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...