#define TRUE 1 //指定用TRUE表示1
#define FALSE 0 //指定用FALSE表示0
int d[6], val, allBig;
…
scanf (“%d”, &val); //輸入第1個整數val
for (int i=1; i<=5; i=i+1){ //輸入5個整數
scanf (“%d”, &d[i]);
}
allBig = TRUE;
For (int i=1; i<=5; i=i+1){
if (val> d[i]) {
allBig = TRUE;
} else {
allBig = FALSE;
}
}
if (allBig == TRUE){
printf ("%d is the biggest.\n", val);
}else{
printf ("%d is not the biggest.\n", val);
}
程式片段主要功能為:輸入六個整數,檢測並印出最前一個數字是否為六個數字中最大的值。然而,這個程式是錯誤的。
Q1以下哪一組測試資料可以測試出程式有誤?
(A) 21 12 13 14 15 3
(B) 26 12 13 14 25 20
(C) 23 15 18 20 11 12
(D) 21 17 19 24 15 16
Q2這個程式犯了什麼錯誤? |