Menu
CoddyTech

Thuật toán trên mảng

Thuộc phần Nền tảng cơ bản trong hành trình C của Coddy. Bài học 59 trên 63.

Các thuật toán mảng là kỹ thuật thiết yếu để thao tác với dữ liệu mảng. Hãy cùng tìm hiểu một số thao tác mảng phổ biến.

Tìm giá trị lớn nhất trong mảng:

// Khởi tạo một mảng
int numbers[] = {4, 9, 2, 7, 5};

// Gán max ban đầu bằng phần tử đầu tiên
int max = numbers[0];
// So sánh với các phần tử (elements) khác
for (int i = 1; i < 5; i++) {
    if (numbers[i] > max) {
        max = numbers[i];
    }
}

// Giờ max chứa giá trị lớn nhất (9)

Tìm giá trị nhỏ nhất cũng tương tự:

// Gán min ban đầu bằng phần tử đầu tiên
int min = numbers[0];

// So sánh với các phần tử khác
for (int i = 1; i < 5; i++) {
    if (numbers[i] < min) {
        min = numbers[i];
    }
}

// Bây giờ min chứa giá trị nhỏ nhất (2)

Tính tổng tất cả phần tử trong mảng:

int sum = 0;

// Cộng từng phần tử (element) vào sum
for (int i = 0; i < 5; i++) {
    sum += numbers[i];
}

// Bây giờ sum chứa tổng (27)
challenge icon

Thử thách

Dễ

Viết một hàm (function) có tên findAverage để tính giá trị trung bình của tất cả phần tử trong một mảng số nguyên.

Hàm cần:

  1. Nhận một mảng số nguyên và kích thước của mảng làm tham số
  2. Tính tổng tất cả phần tử
  3. Chia tổng cho số phần tử để tìm giá trị trung bình
  4. Trả về giá trị trung bình dưới dạng số thực

Sau khi tính giá trị trung bình, hãy in kết quả với đúng 2 chữ số thập phân bằng cách dùng: printf("Average: %.2f\n", average);

Tự làm thử

#include <stdio.h>

// Viết hàm (function) findAverage tại đây

int main() {
    int size;
    scanf("%d", &size);
    
    int numbers[size];
    
    // Đọc các phần tử của mảng
    for (int i = 0; i < size; i++) {
        scanf("%d", &numbers[i]);
    }
    
    // Gọi hàm và in kết quả
    float average = findAverage(numbers, size);
    printf("Average: %.2f\n", average);
    
    return 0;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Nền tảng cơ bản

Tự luyện tập: Trình biên dịch C online