搜狗筆試題

2021-08-26 07:52:21 字數 1635 閱讀 6866

1、下面**中for迴圈共執行了多少次?

unsigned short i,j;

for(i=0, j=2; i!=j; i+=5, j+=7)

{}

unsigned short占用2個位元組,當資料範圍到頭了(2^16-1),就又從0開始計數了,這個其實就是兩輛汽車行駛在乙個圓圈裡的汽車追及問題。乙個速度為5,乙個速度為7,當速度為7的超越速度為5的時候,兩個汽車就相遇了,2 + 7n- 5n= 2^16 所以共迴圈了32767次。

unsigned short i,j;

for(i=3,j=7;i!=j;i+=3,j+=7)

這個也是一樣的,7 + 7n- (3+3n)= 2^16

2、下面程式應該輸出多少?

char *c = ; 

char **cp = ;

char ***cpp = cp;

int main(void)

3、已知程式**如下:

struct s

;

下面哪些能正常執行()

a、makes().func1(makes())

b、makes().func2(makes())

c、makes().func3(makes())

d、makes().func4(makes())

4、下列**的輸出為多少?

int main(void)

; enum ;

return 0;

}

a、c、e、h、x、y、z、w、s、t的值分別是多少?

在列舉型別中宣告的第乙個列舉成員它的默值為零。沒有顯示賦值的列舉成員的值,總是前乙個列舉成員的值+1。

a:0 c:6 e:5

h:0 x:1 y:2 z:3 w:121 s:100 t:101

5、乙個長度為n的陣列a[0],a[1],...,a[n-1]。現在更新陣列的名個元素,即a[0]變為a[1]到a[n-1]的積

a[1]變為a[0]和a[2]到a[n-1]的積,...,a[n-1]為a[0]到a[n-2]的積。

程式要求:要求具有線性複雜度,不能使用除法運算子。

思路是思想跟這個一樣,用兩個陣列b、c

b[i] = a[0] *... * a[i - 1],c[i] = a[i + 1] *...*a[n] ,時間複雜度為o(2n)

最後a[i] = b[i]*c[i],我在這裡沒用c陣列,少用c【i】陣列的話,程式寫起來就不是太好理解,其實是乙個道理。

int main(void)

; int temp, n=4;

int *b = new int[n];

b[0] = a[0];

for(i = 1; i < n-1; i++)

b[n-1] = a[n-1];

for(i = n-1; i >= 0; i--)

if(i == 0)

a[0] = b[1];

} //輸出最後的a元素

for(i = 0; i < n; i++)

return 0;

}

搜狗筆試題

乙個長度為n的陣列a 0 a 1 a n 1 現在更新陣列的名個元素,即a 0 變為a 1 到a n 1 的積 a 1 變為a 0 和a 2 到a n 1 的積,a n 1 為a 0 到a n 2 的積。程式要求 要求具有線性複雜度。不能使用除法運算子。演算法思想 設共有n個數 n 7 建立乙個陣列...

搜狗筆試題

搜狗 1,有n n個正方形格仔,每個格仔裡有正數或者0,從最左上角往最右下角走,只能向下和向右走。一共走兩次,把所有經過的格仔的數加起來,求最大值。且兩次如果經過同乙個格仔,則該格仔的數隻加一次。思路 搜尋 一共搜 2n 2 步,每一步有四種走法。考慮不相交等條件可以剪去很多枝。複雜度為o 4 n ...

2012搜狗校園招聘筆試題

include using namespace std int main unsigned char p unsigned char input int s 0 int temp sizeof input for int i 0 ichar v p i if v 0 s v a i printf d...