Vấn đề
Sắp xếp mảng cho trước theo thứ tự giảm dần hoặc tăng 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ể đượ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 50 phần tử float.
int so[10]
Khai báo 'so' là mảng 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 dễ dàng bằng chỉ số.
Chương trình
Chương trình C sắp xếp mảng giảm 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 giam 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: 4 Nhap cac phan tu: 11 34 67 89 Cac so theo thu tu giam dan: 89 67 34 11