2020年6月26日 星期五

APCS - 2016-03-05 觀念題-02


2.   給定一陣列 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)呼叫執行右側
函式後,回傳值為何?
(A) 1
(B) 2
(C) 7
(D) 9
int f (int a[], int n) {
 int index = 0;
 for (int i=1; i<=n-1; i=i+1) {
 if (a[i] >= a[index]) {
 index = i;
 }
 }
 return index;
}

【參考解析】


01
02
03
04
05
06
07
08
09
10
11
12
13
14
    int f (int a[], int n)
    {
        int index = 0;
        for (int i=1; i<=n-1; i=i+1)
        {
            if (a[i] >= a[index])
            {
                 index = i;
            }
        }
        return index;
    }


整理過後可以發現,程式的目的在回傳 (找出) index的值
index的值決定於在a[0]~a[9]中的最大,故a[7]=9最大

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。