Bài toán viết hàm tính giá trị trung bình các số nguyên tố có trong mảng một chiều bằng ngôn ngữ C. Bài toán xoay quanh số nguyên tố trong C. Đây là bài viết số 4 trong chuỗi 67 bài viết công phá đề cương nhập môn lập trình của mình.
2. Cách giải bài toán2.2 Code gợi ý tính giá trị trung bình các số nguyên tố có trong mảng một chiều bằng ngôn ngữ C
1. Giới thiệu bài toán
Đây là một bài toán chủ để về mảng và số nguyên tố có trong C. Bài toán số nguyên tố là một trong những bài toán hay trong việc học lập trình.
Đề bài:
Viết hàm tính giá trị trung bình các số nguyên tố trong mảng một chiều a có n phần tử. Hàm trả về giá trị trung bình của các phần tử là số nguyên tố. Ngược lại hàm trả về giá trị 0.
Theo quan điểm cá nhân của mình, đây là một bài toán ở mức trung bình.
2. Cách giải bài toán
Bài toán ở mức trung bình, chính vì thế đòi hỏi bạn đọc phải nắm vững tương đối các thành phần trong ngôn ngữ lập trình C. Nắm được cách sử dụng hàm, các vòng lặp (for, while. . .), các câu lệnh điều kiện (if, else. . .) các toán tử và các cú pháp nhập xuất cơ bản.
2.1 Ý tưởng giải quyết
Bài toán có hai phần chính đó là:
Tìm số nguyên tố, kiểm tra xem số nguyên trong mảng có phải là số nguyên tố không.Tính giá trị trung bìnhVề tìm số nguyên tố, chúng ta cần viết một hàm tìm số nguyên tố trong C. Hàm này trả về giá trị đúng hoặc sai (1 hoặc 0).
Chúng ta cần phải hiểu định nghĩa về số nguyên tố:
Số nguyên tố là số chia hết cho 1 và chính nó.
Về cách kiểm tra số nguyên tố, có hai cách:
Dùng sàng số nguyên tốDùng vòng for xem số đó có chia hết cho số thứ 3 hay không (ngoài 1 và chính nó)Ở bài viết này, mình sẽ sử dụng cách số 2.
Sau khi viết được hàm tìm số nguyên tố, tiến hành duyệt mảng C để tìm ra các phần tử thỏa mãn. Tiếp tục sử dụng 3 biến tong, biến dem và biến tb giống như mình đã trình bày ở hai bài trước. (lưu ý, cái tên biến kia là do mình đặt và gọi thôi nhé, bạn thích đặt sao là tùy ý)
Nếu phần tử thỏa mãn, tăng biến đếm, cộng thêm phần tử vào tổng. Cuối cùng gán biến trung bình là tổng chia số lượng (tong/dem).
Nếu như đếm bằng 0, tức là mảng không có phần tử nào thỏa mãn, trả về giá trị 0.
2.2 Code gợi ý tính giá trị trung bình các số nguyên tố có trong mảng một chiều bằng ngôn ngữ C
Để code được bài hoàn chỉnh, bạn cần có phần xuất nhập mảng, tuy nhiên mình đã có bài viết riêng về phần này, nên mình không nhắc lại nữa nhé.
2.2.1 Hàm kiểm tra số nguyên tố bằng code CSố nguyên tố là số từ 2 trờ lên, vì vậy nhỏ hơn 2, loại (return 0)
Mình sử dụng vòng for duyệt từ số 2 đển float tinhtb(int a<>, int n){float tb, tong=0;int dem=0;for(int i=0;i #includevoid nhap(int a<>, int &n){do{printf("Nhap n: ");scanf("%d",&n);}while(n99);for(int i=0; i các số nguyên tố ở ví dụ trên là: 3, 7, 11, 2