趨勢科技筆試題

2021-06-09 18:59:58 字數 2578 閱讀 1130

**:

1、下面程式的輸出是多少?

[cpp]view plain

copy

print?

voidgetmemory(char*p)  

intmain(void)    

void getmemory(char *p)

int main(void)

a、hello                      b、hello world            c、hello world、run time error/core dump

2、下面哪個會使這段程式編譯錯誤?

[cpp]view plain

copy

print?

classa  

};  

classb:publica  

};  

a *pb =newb();  

b b;  

class a

};class b:public a

};a *pb = new b();

b b;

a、  a *pa = dynamic_cast(pb);

b、 a *pa = static_cast(pb);

c、 a a = static_cast(b);

d、 a a = dynamic_cast(b);

e、none of above

dynamic_cast 的目標型別無效。

3、下面程式執行的結果是(d

[cpp]view plain

copy

print?

voidmain()    

void main()

a、a             b、b                 c、c                   d、編譯錯誤

s指標是陣列的首位址

4、下面程式執行的結果是(d

[cpp]view plain

copy

print?

intmain(void)  

,,};  

printf("%c"

,matrix[1][4]);  

return0;  

}  

int main(void)

,,};

printf("%c",matrix[1][4]);

return 0;

}

a、c                     b、f                        c、gd、h

二、演算法題

1、如何用兩個棧來實現乙個佇列,並分析有關佇列操作的執行時間。

解法:1、有兩個棧s1和s2,先往s1內插入a,b,c,這做的都是enqueue操作。

2、現在要做dequeue操作,即要得到a,這時可以將s1中的元素全部彈出並存入s2中,這時s2中元素的順序(從底部到頂部)為c,b,a,這時做s2.pop()操作即可得到a。

3、如果繼續做enqueue操作,比如插入d,f,則把d,f插入到s1中,

4、此時若要做dequeue操作,則直接彈出s2中的b,它是目前為止,呆得時間最長的元素

5、若繼續做dequeue操作,則s2彈出c,

6、若繼續做dequeue操作,則s2為空,此時做步驟2的操作,

7、以此類推,就實現了用兩個棧來實現乙個佇列的目的。

插入操作的時間為o(1),刪除操作的時間<=o(n),即小於線性時間,有時可能為o(1)。

2、如何用兩個佇列實現乙個棧,並分析有關棧操作的執行時間。

解法:1、有兩個佇列q1和q2,先往q1內插入a,b,c,這做的都是棧的push操作。

2、現在要做pop操作,即要得到c,這時可以將q1中的a,b兩個元素全部dequeue並存入q2中,這時q2中元素為a,b,對q1再做一次dequeue操作即可得到c。

3、如果繼續做push操作,比如插入d,f,則把d,f插入到q2中,

4、此時若要做pop操作,則做步驟2

5、以此類推,就實現了用兩個佇列來實現乙個棧的目的。

注意在此過程中,新push進來的元素總是插入到非空佇列中,空佇列則用來儲存pop操作之後的那些元素,那麼此時空佇列不為空了,原來的非空佇列變為空了,總是這樣迴圈。

對於push和pop操作,其時間為o(n)。

趨勢科技筆試題

3 以下的 可放在vc 6.0裡面執行。題目是要求輸出 trendmicrosoftuscn 然後要求修改程式,使程式能輸出以上結果 如下 include include using namespace std int main int argc,char argv string p new str...

趨勢科技筆試 6

題目 請問下面的程式輸出是什麼?test3.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std class ca public ca cout ca p ca func p ca f cout 結果 解釋 1.為什麼建構函式和...

趨勢科技2023年暑期實習生筆試題

題目 有81匹賽馬,9個賽道可以利用,每匹賽馬的速度是恆定的,不計時但記錄每場的名次,請問,賽幾次可以得到前5名?解答 首先把81匹馬分為9組,賽九場,然後把每場的第一名拿出來 剛好9匹 賽一場,得到前五名所在的組 後四名的組果斷排除 此時可以確定第一名。然後在第一名的組中抽取2 5名 共四匹馬 在...