華為歷年機試試題 part4

2021-06-21 03:33:24 字數 1881 閱讀 6351

題目簡介:

我國大陸運營商的手機號碼標準格式為:國家碼+手機號碼,例如:8613912345678。特點如下:

1、 長度13位;

2、 以86的國家碼打頭;

3、 手機號碼的每一位都是數字。

請實現手機號碼合法性判斷的函式要求:

1) 如果手機號碼合法,返回0;

2) 如果手機號碼長度不合法,返回1

3) 如果手機號碼中包含非數字的字元,返回2;

4) 如果手機號碼不是以86打頭的,返回3;

【注】除成功的情況外,以上其他合法性判斷的優先順序依次降低。也就是說,如果判斷出長度不合法,直接返回1即可,不需要再做其他合法性判斷。

要求實現函式:

int s int verifymsisdn(char* inmsisdn)

【輸入】 char* inmsisdn,表示輸入的手機號碼字串。

【輸出】 無

【返回】 判斷的結果,型別為int。

示例輸入: inmsisdn = 「869123456789「

輸出: 無

返回: 1

輸入: inmsisdn = 「88139123456789「

輸出: 無

返回: 3

輸入: inmsisdn = 「86139123456789「

輸出: 無

返回: 0

題目解答:

我覺得唯一可能存在的問題寫在**裡了,其他的沒什麼,不贅述。

完整**

題目簡介:

有一字串,裡面可能包含英文本母(大寫、小寫)、數字、特殊字元,現在需要實現一函式,將此字串中的母音字母挑選出來,存入另乙個字串中,並對字串中的字母進行從小到大的排序(小寫的母音字母在前,大寫的母音字母在後,依次有序)。

說明:1、  母音字母是a,e,i,o,u,a,e,i,o,u;

2、  篩選出來的母音字母,不需要剔重。

最終輸出的字串,小寫母音字母排在前面,大寫母音字母排在後面,依次有序。

要求實現函式:

void sortvowel (char* input, char* output);

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

【輸出】  char* output,排好序之後的母音字串。

【返回】  無

示例輸入:char *input = 「abort!may be some errors in out system. 「

輸出:char *output =「aeeeooouaeio」

題目解答:

1、將輸入字串中的母音字母全部挑出來,放入output中;

2、將output中的字元排序(本程式採用的是直接插入排序法),需要注意的是判定大小的標準發生了變化。具體標準如下:

設需要比較的兩個字元分別是a, b, 

若a, b都是小寫字母,則按照字母順序來定大小,a

若a,b都是大寫字母,則按照字母順序來定大小,a

若a,b乙個大寫,乙個小寫,則大寫比小寫大。

完整**

做不動了,真正考試,如果能做對兩道,那。。。。也過了,不追求太多。休息一會兒。

關於前面兩道題,我都有乙個困惑和不確定的地方,那就是在未知字串長度情況下,輸入char*型的字串該怎麼辦?我知道在c++裡面string可以不知道長度,但是對於上面兩道題,入口引數為char*,而string又沒辦法轉成char*,困惑。。。。。求大神解答!祝明天考試的同學都能順利通過考試!!!耶耶耶!!!!

華為歷年機試題型總結系列(八)

20.字母和數字組成字串,輸出最長數字串,並返回字串的長度值 輸入 abc123ss45 輸出 123,當有多個長度相同數字字串時,輸出最後乙個,輸入 aa12345bc44567 輸出 44567 include includeunsigned int continuemax char pinpu...

華為的面試試題

華為的面試試題比較專業,都是一些專業知道。華為的面試試題比較專業,都是一些專業知道。q1 請你分別划划osi的七層網路結構圖,和tcp ip的五層結構圖?q2 請你詳細的解釋一下ip協議的定義,在哪個層上面,主要有什麼作用?tcp與udp呢?q3 請問交換機和路由器分別的實現原理是什麼?分別在哪個層...

華為機試題

今天去華為機試,感覺是再謹慎都不為過啊!zc前一天晚上還跟我強調了判空,記憶體釋放。前兩題都是基本題,後面一題不會。1 輸入兩個數 反轉相加的和輸出。2 三天打漁兩天曬網 從1990 年1月1日開始 打漁輸出fishing 曬網輸出sleeping 我因為printf的是fishing sleepi...