Tính trung bình mảng: tổng các phần tử / số phần tử. Dùng LINQ Average() hoặc vòng lặp.
Ví dụ minh họa
using System;
using System.Linq;
class Program
{
static void Main()
{
int[] arr = { 45, 23, 55, 15, 8, 4, 2, 5, 9, 14 };
// Cách 1: LINQ (ngắn gọn)
double avgLinq = arr.Average();
Console.WriteLine($"LINQ Average: {avgLinq:F2}");
// Cách 2: Vòng lặp (hiểu bản chất)
long sum = 0;
foreach (int x in arr) sum += x;
double avgLoop = (double)sum / arr.Length;
Console.WriteLine($"Vòng lặp: {avgLoop:F2}");
// Cách 3: Tính tổng trước, rồi chia (tránh chia nguyên)
int sumInt = arr.Sum(); // LINQ Sum
double avg = (double)sumInt / arr.Length;
Console.WriteLine($"Sum/Length: {avg:F2}");
// Hiển thị chi tiết
Console.WriteLine($"\nTổng: {sumInt}");
Console.WriteLine($"Số phần tử: {arr.Length}");
Console.WriteLine($"Trung bình: {avg:F2}");
}
}
Kết quả đầu ra
LINQ Average: 18.00 Vòng lặp: 18.00 Sum/Length: 18.00 Tổng: 180 Số phần tử: 10 Trung bình: 18.00
Lưu ý quan trọng: Phép chia nguyên int / int cắt phần thập phân. Phải ép kiểu: (double)sum / length hoặc sum / (double)length. Code gốc trong bài viết đặt average = sum / len bên trong vòng lặp - sai logic (tính trung bình từng bước).