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

Chương trình C sắp xếp mảng tăng dần


Vấn đề

Sắp xếp mảng cho trước theo thứ tự tăng dần hoặc giảm dần dựa trên mã đã viết.

Giải pháp

Mảng là nhóm các mục dữ liệu liên quan chia sẻ tên chung. Giá trị cụ thể trong mảng được xác định bằng "chỉ số chỉ mục".

Khai báo mảng

Cú pháp khai báo mảng:

kiểu_dữ_liệu tên_mảng [kích_thước];

Ví dụ:

float diem[50]

Khai báo 'diem' là mảng chứa 50 phần tử float.

int so[10]

Khai báo 'so' là mảng chứa tối đa 10 số nguyên.

Mỗi phần tử được xác định bằng "chỉ số mảng". Truy cập phần tử mảng dễ dàng bằng chỉ số.

Logic sắp xếp mảng tăng dần:

for (i = 0; i < n; ++i){ 
    for (j = i + 1; j < n; ++j){ 
        if (num[i] > num[j]){ 
            a = num[i]; 
            num[i] = num[j]; 
            num[j] = a; 
        } 
    } 
}

Chương trình

Chương trình C sắp xếp mảng tăng dần:

#include <stdio.h> 
void main (){ 
    int num[20]; 
    int i, j, a, n; 
    printf("Nhap so phan tu mang\n"); 
    scanf("%d", &n); 
    printf("Nhap cac phan tu\n"); 
    for (i = 0; i < n; ++i) 
        scanf("%d", &num[i]); 
    for (i = 0; i < n; ++i){ 
        for (j = i + 1; j < n; ++j){ 
            if (num[i] > num[j]){ 
                a = num[i]; 
                num[i] = num[j]; 
                num[j] = a; 
            } 
        } 
    } 
    printf("Cac so theo thu tu tang dan:\n"); 
    for (i = 0; i < n; ++i){ 
        printf("%d\n", num[i]); 
    } 
}

Đầu ra

Kết quả chạy chương trình:

Nhap so phan tu mang: 5 
Nhap cac phan tu: 12 23 89 11 22 
Cac so theo thu tu tang dan: 11 12 22 23 89