所屬科目:泉勝◆程式設計實習
List是一個陣列,裡面的元素是element,它的定義如右。List中的每一個element利用next這個整數變數來記錄下一個element在陣列中的位置,如果沒有下一個element,next就會記錄-1。所有的element串成了一個串列(linkedlist)。例如在list中有三筆資料它所代表的串列如下圖RemoveNextElement是一個程序,用來移除串列中current所指向的下一個元素,但是必須保持原始串列的順序。例如,若current為3(對應到list[3]),呼叫完RemoveNextElement後,串列應為請問在空格中應該填入的程式碼為何?(A)list[current].next=current;(B)list[current].next=list[list[current].next].next;(C)current=list[list[current].next].next;(D)list[list[current].next].next=list[current].next;
請問以a(13,15)呼叫右側a()函式,函式執行完後其回傳值為何?105/03/07(A)90(B)103(C)93(D)60
給定右側g()函式,g(13)回傳值為何?105/03/10(A)16(B)18(C)19(D)22
第三類型是數字很大,那就要尋找規律性。例如:右側程式輸出為何105/03/14(A)(B)(C)(D)
其次,遞迴追蹤的過程,要仔細觀察數字是否已經重複,若重複就可直接根據前面的結果填入答案,這樣才能省時間。例如,右側g(4)函式呼叫執行後,回傳值為何?105/03/24(A)6(B)11(C)13(D)14
給定一陣列a[10]={1,3,9,2,5,8,4,9,6,7},i.e.,a[0]=1,a[1]=3,⋯,a[8]=6,a[9]=7,以f(a,10)呼叫執行右側函式後,回傳值為何?105/01/02(A)1(B)2(C)7(D)9
若以f(22)呼叫右側f()函式,總共會印出多少數字?105/01/15(A)16(B)22(C)11(D)15
右側f()函式(a),(b),(c)處需分別填入哪些數字,方能使得f(4)輸出2468的結果?105/01/23(A)1,2,1(B)0,1,2(C)0,2,1(D)1,1,1
給定右側程式,其中s有被宣告為全域變數,請問程式執行後輸出為?106/03/08(A)1,6,7,7,8,8,9(B)1,6,7,7,8,1,9(C)1,6,7,8,9,9,9(D)1,6,7,7,8,9,9
若函式rand()的回傳值為一介於0和10000之間的亂數,下列那個運算式可產生介於100和1000之間的任意數(包含100和1000)?106/03/12(A)rand()%900+100(B)rand()%1000+1(C)rand()%899+101(D)rand()%901+100
小藍寫了一段複雜的程式碼想考你是否了解函式的執行流程。請回答最後輸出的數值為何?106/03/20(A)70(B)80(C)100(D)190
函數f定義如下,如果呼叫f(1000),指令sum=sum+i被執行的次數最接近下列何者?105/03/05(A)1000(B)3000(C)5000(D)10000
右側為一個計算n階層的函式,請問該如何修改才會得到正確的結果?(A)第2行,改為intfac=n;(B)第3行,改為if(n>0){(C)第4行,改為fac=n*fun(n+1);(D)第4行,改為fac=fac*fun(n-1);
右側Mystery()函式else部分運算式應為何,才能使得Mystery(9)的回傳值為34。105/03/25(A)x+Mystery(x-1)(B)x*Mystery(x-1)(C)Mystery(x-2)+Mystery(x+2)(D)Mystery(x-2)+Mystery(x-1)
給定右側G(),K()兩函式,執行G(3)後所回傳的值為何?105/10/03(A)5(B)12(C)14(D)15
右側函式以F(7)呼叫後回傳值為12,則<condition>應為何?105/10/06(A)a<3(B)a<2(C)a<1(D)a<0
右側主程式執行完三次G()的呼叫後,p陣列中有幾個元素的值為0?105/10/10(A)1(B)2(C)3(D)4
右列程式片段中,假設a,a_ptr和a_ptrptr這三個變數都有被正確宣告,且呼叫G()函式時的參數為a_ptr及a_ptrptr。G()函式的兩個參數型態該如何宣告?105/10/16(A)(a)*int,(b)*int*int(B)(a)*int,(b)**int**int(C)(a)int*,(b)int*(D)(a)int*,(b)int**
給定右側G()函式,執行G(1)後所輸出的值為何?105/10/18(A)123(B)12321(C)123321(D)以上皆非
以下程式輸出結果為何?105/10/20(A)0(B)10(C)5(D)50
右側G()應為一支遞迴函式,已知當a固定為2,不同的變數x值會有不同的回傳值如下表所示。請找出G()函式中(a)處的計算式該為何?105/10/21(A)((2*a)+2)*G(a,x-1)(B)(a+5)*G(a-1,x-1)(C)((3*a)-1)*G(a,x-1)(D)(a+6)*G(a,x-1)
右側G()為遞迴函式,G(3,7)執行後回傳值為何?105/10/24(A)128(B)2187(C)6561(D)1024
右側函式若以search(1,10,3)呼叫時,search函式總共會被執行幾次?105/10/25(A)2(B)3(C)4(D)5
給定函式A1()、A2()與F()如下,以下敘述何者有誤?106/03/02(A)A1(5)印的'*'個數比A2(5)多(B)A1(13)印的'*'個數比A2(13)多(C)A2(14)印的'*'個數比A1(14)多(D)A2(15)印的'*'個數比A1(15)多
右側F()函式回傳運算式該如何寫,才會使得F(14)的回傳值為40?106/03/03(A)n*F(n-1)(B)n+F(n-3)(C)n-F(n-2)(D)F(3n+1)
右側函式兩個回傳式分別該如何撰寫,才能正確計算並回傳兩參數a,b之最大公因數(GreatestCommonDivisor)?106/03/04(A)a,GCD(b,r)(B)b,GCD(b,r)(C)a,GCD(a,r)(D)b,GCD(a,r)
若以B(5,2)呼叫右側B()函式,總共會印出幾次“basecase”?(A)1(B)5(C)10(D)19
若以G(100)呼叫右側函式後,n的值為何?106/03/10(A)25(B)75(C)150(D)250
給定右側函式F(),已知F(7)回傳值為17,且F(8)回傳值為25,請問if的條件判斷式應為何?106/03/16(A)a%2!=1(B)a*2>16(C)a+3<12(D)a*a<50
若以F(5,2)呼叫右側F()函式,執行完畢後回傳值為何?(A)1106/03/21(B)3(C)5(D)8