SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
C
BÀI TẬP C
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Sắp xếp một mảng số nguyên theo thứ tự tăng dần hoặc giảm dần trong C

Trong bài tập này, mình sẽ viết một chương trình trong ngôn ngữ lập trình C để sắp xếp một mảng số nguyên theo thứ tự tăng dần hoặc giảm dần.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
  • Nhập vào một mảng số nguyên từ người dùng.
  • Cho người dùng chọn sắp xếp theo thứ tự tăng dần hoặc giảm dần.
  • Hiển thị mảng sau khi đã sắp xếp.

Chương trình sắp xếp một mảng số nguyên trong C

Cách giải quyết bài lập trình

  • Sử dụng thuật toán sắp xếp nổi bọt (bubble sort) để sắp xếp mảng.
  • Nếu người dùng chọn sắp xếp tăng dần, sử dụng thuật toán bubble sort theo hướng tăng dần.
  • Nếu người dùng chọn sắp xếp giảm dần, sử dụng thuật toán bubble sort theo hướng giảm dần.

Hãy xem cách giải như sau:

#include <stdio.h>

// Hàm sắp xếp mảng theo thứ tự tăng dần
void bubbleSortAscending(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

// Hàm sắp xếp mảng theo thứ tự giảm dần
void bubbleSortDescending(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - i - 1; j++) {
            if (arr[j] < arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int arr[100], n, i, choice;

    printf("Nhập số phần tử của mảng: ");
    scanf("%d", &n);

    printf("Nhập các phần tử của mảng:\n");
    for (i = 0; i < n; i++) {
        printf("arr[%d] = ", i);
        scanf("%d", &arr[i]);
    }

    printf("Chọn cách sắp xếp:\n");
    printf("1. Sắp xếp tăng dần\n");
    printf("2. Sắp xếp giảm dần\n");
    printf("Nhập lựa chọn của bạn: ");
    scanf("%d", &choice);

    switch (choice) {
        case 1:
            bubbleSortAscending(arr, n);
            printf("Mảng sau khi sắp xếp tăng dần:\n");
            break;
        case 2:
            bubbleSortDescending(arr, n);
            printf("Mảng sau khi sắp xếp giảm dần:\n");
            break;
        default:
            printf("Lựa chọn không hợp lệ.\n");
            return 1;
    }

    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

Kết quả:

Bài viết này được đăng tại [free tuts .net]

Screenshot 202024 03 13 20182302 png

Trên đâylà cách viết một chương trình trong ngôn ngữ lập trình C để sắp xếp một mảng số nguyên theo thứ tự tăng dần hoặc giảm dần. Chúc bạn thực hiện thành công!

Cùng chuyên mục:

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

Top