Run demo: bấm vào đây
Hàm sắp xếp mảng tăng giảm dần trong lập trình C
C 2016
#include <stdio.h>
int a[100]; //Khai báo mảng array kích thước 100
int main() //Hàm thân chạy chương trình bắt buộc có
{
int i,j,n,k; //Khai báo biến kiểu int
printf("Nhap so mang cua phan tu: "); //Hiển thị màn hình
scanf("%d", &n); //Nhập vào số lần lặp
for (i = 0; i < n; i++) //vòng lặp for
{
printf("nhap phan tu thu %d: ", i + 1);
scanf("%d", &a[i]); //Nhập vào mảng số i
}
for (i = 0; i < n-1;i++){
for (j = i+1; j < n;j++){
if (a[i]>a[j]) //Tăng dần or Giảm dần a[i]<a[j]
{
k = a[i]; //k là biến tạm lưu giá trị
a[i] = a[j]; //thực hiện đổi chỗ lấy a[j]
a[j] = k; //thực hiện đổi chỗ lấy a[i]
}
}
}
printf("mang sau khi da sap xep la:\n");
for (i = 0; i < n; i++) {
printf(" %d ", a[i]); //Mỗi lần lặp in ra mảng i
}
}
Kiến Thức Cần Có:
1. Khai báo kiểu int ?
2. Khai báo kiểu Array mảng ? Mảng 1 chiều vàmảng 2 chiều là gì?
3. printf là gì?
4. scanf là gì ?
5. Vòng lặp for là gì ?
Xem thêm: Hàm đổi chỗ dùng con trỏ trong lập trình C bấm vào đây
1. Khai báo kiểu int ?
2. Khai báo kiểu Array mảng ? Mảng 1 chiều và
3. printf là gì?
4. scanf là gì ?
5. Vòng lặp for là gì ?
Cảm ơn AD nhé
ReplyDeleteOk bạn yêu nhé
Deletelàm sao để nó hiển thị ra các bước khi sắp xếp ra màn hình vậy
ReplyDeleteAD cho em hỏi đoạn: a[i]>a[j] với :( em không hiểu giải thuật đoạn này.
ReplyDeleteTại sao phần tử thứ [i] > phần tử thứ [j] lại ra tăng dần ạ???
Em ngu quá hix :(
Cảm ơn bạn rất nhiều Thuật toán lập trình
ReplyDeleteRất vui vì đã lan tỏa đến mn. không có gì nhé b.
Delete