數組是 C 語言最基礎的聚合數據類型,掌握其操作模式是進階編程的前提。本文精選 20 道經典練習,涵蓋遍歷、翻轉、排序、查找、統計、矩陣運算等核心場景,附帶註釋版參考代碼與算法解析。
for (int i = 9; i >= 0; i--) {
printf("%d ", arr[i]);
}
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp;
}
}
}
bool isSymmetry(int a[], int len) {
for (int i = 0; i < len/2; i++) {
if (a[i] != a[len-1-i]) return false;
}
return true;
}
// 刪除下標 1 元素 for (int i = 1; i < 9; i++) a[i] = a[i+1];
int maxIdx = 0, secIdx = -1;
for (int i = 1; i < n; i++) {
if (a[i] > a[maxIdx]) { secIdx = maxIdx; maxIdx = i; }
else if (secIdx == -1 || a[i] > a[secIdx]) secIdx = i;
}
double sum = 0; for (int i=0;iavg) cnt++;
int minIdx = 0; for (int i=1;i8. 二維數組轉置(方陣)
for (int i=0;i9. 杨輝三角生成
for (int i=0;i10. 特殊規律賦值:下標能被 3/5/7 整除
for (int i=0;i進階建議
- 所有下標操作務必加邊界檢查,防止緩衝區溢出。
- 排序、查找等通用邏輯封裝為函數,傳入數組指針與長度,提高復用性。
- 二維數組傳參時第二維度必須固定,或使用一維數組模擬
a[i*cols + j]。- 大規模數據統計考慮使用
long long避免溢出。