當前位置:概念範文網>求職簡歷>筆試題目>

C開發工程師筆試題

筆試題目 閲讀(4.95K)

C/C++軟件工程師的月薪範圍一般在3500-20xx0元之間。一般而言,剛剛畢業的大學生以及擁有1-3年的工作經驗者的月薪通常在3500-4500元左右,下面就由本站小編為大家介紹一下C++開發工程師筆試題的文章,歡迎閲讀

C開發工程師筆試題

C++開發工程師筆試題篇1

1、改錯

如下程序能不能正確輸出,如果不能,讓他正確輸出hello字符串。

void New(char * p) { p = new char[5]; } void main { char* p = NULL; New(p); strcpy(p, "hello"); printf("%s", p); }

2、排列算法

一個數組{3,4,5,6,3},請輸出這個數組的全排列,比如34563、43563、33456...。

#include

#include

template

void Print(T* tArray, int iSize)

{

for(int i = 0; i < iSize; ++i)

{

std::cout << tArray[i] << ' ';

}

std::cout << std::endl;

}

template

void Permutation(T* tArray, int iSize)

{

int* iIndex = new int[iSize + 1];

for(int i = 0; i < iSize; ++i)

{

iIndex [i] = iSize - i;

}

Print(tArray, iSize);

for(int i = iSize - 1; i > 0; )

{

-- iIndex [i];

--i;

int j = iSize - 1;

do

{

if(tArray[j--] != tArray[i++])

{

std::swap(tArray[j--], tArray[i++]);

}

}while(j > i);

Print(tArray, iSize);

i = iSize - 1;

for(;iIndex [i] == 0; --i)

{

iIndex [i] = iSize - i;

}

}

delete iIndex;

}

int main

{

int a = {3,4,5,6,3};

Permutation(a,5);

}

C++開發工程師筆試題篇2

1、數據結構

在二叉樹中找出和為某一輸入值的所有路徑。

#include

void getPath(struct treeNode* node, int sum, vector& stack, int currentSum) { //stack用來存放路徑,sum為輸入值

} if (node == NULL) return; currentSum += node->id; _back(node->id); if (node->lchild != NULL) getPath(node->lchild, sum, stack, currentSum); if (node->rchild != NULL) getPath(node->rchild, sum, stack, currentSum); if (node->lchild == NULL && node->rchild == NULL) { if (currentSum == sum) { vector::iterator it = n; for (; it != ; ++it) printf("%d ", *it); printf("/n"); } } _back;

2、編寫程序:如何獲得一個整數的二進制表達中有多少個1?

C++開發工程師筆試題篇3

1、編寫程序:在O(n)時間複雜度內從數組array[0..n-1]中找出第k個最小的元素。 説明:算法可以對array中的元素進行排序。

2、綜合考察

銀行有個存有n個用户編號的文件,每個數都小於n,其中n=10的7次方。每個編號都不重複。

 輸出:n個數升序排列。

 約束條件:內存最多有2兆的空間,運行時間複雜度為O(n)。