| 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最大
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。