Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Cách tách số chẵn lẻ trong mảng dùng vòng lặp for trong C


Mảng là nhóm các mục dữ liệu liên quan lưu trữ dưới một tên duy nhất.

Ví dụ: int student[30]; // student là tên mảng chứa 30 phần tử

Các thao tác trên mảng

  • Tìm kiếm (Searching) - Kiểm tra phần tử có tồn tại hay không.
  • Sắp xếp (Sorting) - Sắp xếp tăng/giảm dần.
  • Duyệt (Traversing) - Xử lý từng phần tử theo thứ tự.
  • Chèn (Inserting) - Thêm phần tử vào mảng.
  • Xóa (Deleting) - Xóa phần tử khỏi mảng.

Logic tìm số chẵn

for(i = 0; i < size; i++) {
    if(a[i] % 2 == 0) {
        even[Ecount] = a[i];
        Ecount++;
    }
}

Logic tìm số lẻ

for(i = 0; i < size; i++) {
    if(a[i] % 2 != 0) {
        odd[Ocount] = a[i];
        Ocount++;
    }
}

Hàm hiển thị mảng

void display(int a[], int size) {
    for(i = 0; i < size; i++) {
        printf("%d\t", a[i]);
    }
    printf("\n");
}

Chương trình hoàn chỉnh

#include <stdio.h>

void display(int a[], int size);

int main() {
    int size, i, a[10], even[20], odd[20];
    int Ecount = 0, Ocount = 0;
    
    printf("Nhập kích thước mảng:\n");
    scanf("%d", &size);
    printf("Nhập các phần tử mảng:\n");
    for(i = 0; i < size; i++) {
        scanf("%d", &a[i]);
    }
    
    for(i = 0; i < size; i++) {
        if(a[i] % 2 == 0) {
            even[Ecount] = a[i];
            Ecount++;
        } else {
            odd[Ocount] = a[i];
            Ocount++;
        }
    }
    
    printf("Số phần tử chẵn: %d\n", Ecount);
    printf("Các phần tử chẵn: ");
    display(even, Ecount);
    
    printf("Số phần tử lẻ: %d\n", Ocount);
    printf("Các phần tử lẻ: ");
    display(odd, Ocount);
    
    return 0;
}

void display(int a[], int size) {
    for(i = 0; i < size; i++) {
        printf("%d\t", a[i]);
    }
    printf("\n");
}

Kết quả chạy

Nhập kích thước mảng: 5
Nhập các phần tử mảng: 23 45 67 12 34
Số phần tử chẵn: 2
Các phần tử chẵn: 12    34
Số phần tử lẻ: 3
Các phần tử lẻ: 23    45    67