網站首頁 工作範例 辦公範例 個人範例 黨團範例 簡歷範例 學生範例 其他範例 專題範例

微軟、百度、聯想等名企C筆試題

欄目: 筆試題目 / 釋出於: / 人氣:1.79W

微軟、百度、聯想等名企C++筆試題你瞭解嗎?掌握這些筆試題對你很重要!下面就由本站小編為大家介紹一下微軟、百度、聯想等名企C++筆試題的文章,歡迎閱讀。

微軟、百度、聯想等名企C筆試題

微軟十五道筆試題篇1

1、有一個整數陣列,請求出兩兩之差絕對值最小的值,記住,只要得出最小值即可,不需要求出是哪兩個數。

2、寫一個函式,檢查字元是否是整數,如果是,返回其整數值。

(或者:怎樣只用4行程式碼編寫出一個從字串到長整形的函式?)

3、給出一個函式來輸出一個字串的所有排列

4、請編寫實現malloc記憶體分配函式功能一樣的程式碼。

給出一個函式來複制兩個字串A和B。字串A的後幾個位元組和字串B的前幾個位元組重疊。

5、怎樣編寫一個程式,把一個有序整數陣列放到二叉樹中?

6、怎樣從頂部開始逐層列印二叉樹結點資料?請程式設計。

7、怎樣把一個連結串列掉個順序(也就是反序,注意連結串列的邊界條件並考慮空連結串列)?

8、請編寫能直接實現int atoi(const char * pstr)函式功能的程式碼。

9、程式設計實現兩個正整數的除法

程式設計實現兩個正整數的除法,當然不能用除法操作符。

// return x/y.

int div(const int x, const int y)

{

....

}

10、在排序陣列中,找出給定數字的出現次數

比如 [1, 2, 2, 2, 3] 中2的出現次數是3次。

11、平面上N個點,每兩個點都確定一條直線,

求出斜率最大的那條直線所通過的兩個點(斜率不存在的情況不考慮)。時間效率越高越好。

12、一個整數數列,元素取值可能是0~65535中的任意一個數,相同數值不會重複出現。0是例外,可以反覆出現。

請設計一個演算法,當你從該數列中隨意選取5個數值,判斷這5個數值是否連續相鄰。

注意:

- 5個數值允許是亂序的。比如: 8 7 5 0 6

- 0可以通配任意數值。比如:8 7 5 0 6 中的0可以通配成9或者4

- 0可以多次出現。

- 複雜度如果是O(n2)則不得分。

13、設計一個演算法,找出二叉樹上任意兩個結點的最近共同父結點。

複雜度如果是O(n2)則不得分。

14、一棵排序二叉樹,令 f=(最大值+最小值)/2,

設計一個演算法,找出距離f值最近、大於f值的結點。

複雜度如果是O(n2)則不得分。

15、一個整數數列,元素取值可能是1~N(N是一個較大的正整數)中的任意一個數,相同數值不會重複出現。

設計一個演算法,找出數列中符合條件的數對的個數,滿足數對中兩數的和等於N+1。

複雜度最好是O(n),如果是O(n2)則不得分。

谷歌八道筆試題篇2

1、正整數序列Q中的每個元素都至少能被正整數a和b中的一個整除,現給定a和b,需要計算出Q中的前幾項,例如,當a=3,b=5,N=6時,序列為3,5,6,9,10,12

(1)、設計一個函式void generate(int a,int b,int N ,int * Q)計算Q的前幾項

(2)、設計測試資料來驗證函式程式在各種輸入下的正確性。

2、有一個由大小寫組成的字串,現在需要對他進行修改,將其中的所有小寫字母排在答謝字母的前面(大寫或小寫字母之間不要求保持原來次序),如有可能儘量選擇時間和空間效率高的演算法 c語言函式原型void proc(char *str)也可以採用你自己熟悉的語言

3、如何隨機選取1000個關鍵字

給定一個數據流,其中包含無窮盡的搜尋關鍵字(比如,人們在谷歌搜尋時不斷輸入的關鍵字)。如何才能從這個無窮盡的流中隨機的選取1000個關鍵字?

4、判斷一個自然數是否是某個數的平方

說明:當然不能使用開方運算。

5、給定能隨機生成整數1到5的函式,寫出能隨機生成整數1到7的函式。

6、1024! 末尾有多少個0?

7、有5個海盜,按照等級從5到1排列,最大的海盜有權提議他們如何分享100枚金幣。

但其他人要對此表決,如果多數反對,那他就會被殺死。

他應該提出怎樣的方案,既讓自己拿到儘可能多的金幣又不會被殺死?

(提示:有一個海盜能拿到98%的金幣)

8、Google20xx華南地區筆試題

給定一個集合A=[0,1,3,8](該集合中的元素都是在0,9之間的數字,但未必全部包含),

指定任意一個正整數K,請用A中的元素組成一個大於K的最小正整數。

比如,A=[1,0] K=21 那麼輸出結構應該為100。

百度三道筆試題篇3

1、用C語言實現一個revert函式,它的功能是將輸入的字串在原串上倒序後返回。

2、用C語言實現函式void * memmove(void *dest, const void *src, size_t n)。memmove

函式的功能是拷貝src所指的記憶體內容前n個位元組到dest所指的地址上。

分析:由於可以把任何型別的指標賦給void型別的指標,這個函式主要是實現各種資料型別的拷貝。

3、有一根27釐米的細木杆,在第3釐米、7釐米、11釐米、17釐米、23釐米這五個位置上各有一隻螞蟻。

木杆很細,不能同時通過一隻螞蟻。開始時,螞蟻的頭朝左還是朝右是任意的,它們只會朝前走或調頭,但不會後退。

當任意兩隻螞蟻碰頭時,兩隻螞蟻會同時調頭朝反方向走。假設螞蟻們每秒鐘可以走一釐米的距離。

編寫程式,求所有螞蟻都離開木杆的最小時間和最大時間。