Ở bài học trước, chúng ta vừa tìm hiểu về mảng 1 chiều. Do đó, để tăng cường kiến thức, chúng ta sẽ cùng nhau đi thực hành những bài tập về mảng 1 chiều. Trong bài học này, bạn sẽ cùng Lập Trình Không Khó thực hành với bài tập tính tổng các số lẻ trong mảng 1 chiều nhé.
Hướng dẫn tính tổng các số lẻ trong mảng
Ý tưởng tính tổng các số lẻ trong mảng 1 chiều:
- Khởi tạo biến
tong = 0;
- Duyệt qua từng phần tử trong mảng sử dụng vòng lặp for. Với mỗi phần tử, ta dùng cấu trúc if để kiểm tra xem nếu là số lẻ thì thêm vào biến
tong
. - Xuất ra kết quả.
[wpcc-iframe loading=”lazy” title=”Bài 42. Tính tổng các số lẻ trong mảng 1 chiều” width=”720″ height=”405″ src=”https://www.youtube.com/embed/C8EbolSxfNg?list=PLh91SaQgRYnpj1GqVmVMq4acSAHtSKKwR” frameborder=”0″ allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share” allowfullscreen]
Lời giải tính tổng các số lẻ trong mảng
Dưới đây là lời giải tham khảo trích từ video phía trên. Các bạn tham khảo và so sánh với cách làm của bạn nhé. Chúng ta có 2 hàm là hàm tính tổng các số lẻ và hàm tính tổng các số chẵn trong mảng.
#include <stdio.h> const int MAX_SIZE = 100; void NhapMang(int a[], int n) { for (int i = 0; i < n; i++) { printf("a[%d] = ", i); scanf("%d", &a[i]); } } void XuatMang(int a[], int n) { for (int i = 0; i < n; i++) { printf("%5d", a[i]); } } // Tính tổng các số lẻ trong mảng int SumOdd(int a[], int n) { int sum = 0; for (int i = 0; i < n; i++) { if (a[i] % 2 != 0) { sum += a[i]; } } return sum; } // Tính tổng các số chẵn trong mảng int SumEven(int a[], int n) { int sum = 0; for (int i = 0; i < n; i++) { if (a[i] % 2 != 0) { continue; } sum += a[i]; } return sum; } int main() { int arr[MAX_SIZE]; int n; // số lượng phần tử của mảng // Kiểm tra số lượng phần tử là số dương + nhỏ hơn MAX_SIZE do { printf("Nhap n = "); scanf("%d", &n); } while (n <= 0 || n > MAX_SIZE); // Nhap mang NhapMang(arr, n); // Xuat mang XuatMang(arr, n); // Tính toán printf("nTong so le = %d", SumOdd(arr, n)); printf("nTong so chan = %d", SumEven(arr, n)); }
Kết quả chạy:
PS G:c_courcesday_42> .SumOddNumber.exe Nhap n = 5 a[0] = 1 a[1] = 2 a[2] = 3 a[3] = 4 a[4] = 5 1 2 3 4 5 Tong so le = 9 Tong so chan = 6
Theo dõi lập trình không khó tại:
Để lại một bình luận