for (int i = 0; i < n; i++) {
cout << a[i];
if (i % 3 == 0) cout << '\n'; // 錯誤:i=0,3,6,9 換行,導致第一行只有 1 個數
}
float av = 0;
for (int i = 0; i != n; i++) av += a[i];
return av / n; // 整數除法,截斷小數
#include <iostream>
using namespace std;
void input(int a[], int n) {
for (int i = 0; i < n; i++) cin >> a[i];
}
void output(int a[], int n) {
for (int i = 0; i < n; i++) {
cout << a[i] << ' '; // 加空格分隔
if (i % 3 == 2) cout << '\n'; // i=2,5,8 換行 → 每行 3 個
}
if (n % 3 != 0) cout << '\n'; // 最後不足 3 個補換行
}
float average(int a[], int n) {
float sum = 0;
for (int i = 0; i < n; i++) sum += a[i];
return sum / n; // sum 為 float,自動浮點除法
}
int main() {
const int n = 10;
int a[n];
input(a, n);
output(a, n);
cout << "平均值=" << average(a, n) << '\n';
return 0;
}
i % 3 == 2(索引 2、5、8 為每行第 3 個),而非 ==0。float 或 double,確保 sum / n 為浮點運算。此類基礎循環控制題,核心在於索引與計數的對應關係,建議手寫幾組數據驗證邏輯。