© 2017

Nhập vào dãy số sắp xếp các phần tử theo giá trị giảm dần trong C

NLD Code - Viết chương trình nhập vào dãy số sắp xếp các phần tử theo giá trị giảm dần trong C. Dãy số được nhập vào là dãy số nguyên và có độ dài không quá 50 phần tử.

Viết chương trình nhập vào dãy số sắp xếp các phần tử theo giá trị tăng dần trong C. Dãy số được nhập vào là dãy số nguyên và có độ dài không quá 50 phần tử.

Câu hỏi

  • Viết chương trình nhập vào dãy số sắp xếp các phần tử theo giá trị tăng dần trong C.

Gợi ý

  • Chúng ta sử dụng mảng, vòng lặp for và lệnh if để xử lý bài toán trên.

Tiến hành code

Chèn các thư viện vào file hiện hành

#include<stdio.h>
#include<conio.h>

Khai báo mảng và các biến kiểu dữ liệu int

int a[50], i, j, n, tam;

In ra thông báo nhập số phần tử của dãy số

printf(" - Nhap vao so phan tu: ");

Nhận số phần tử người dùng nhập vào

scanf("%d",&n);

Chạy vòng lặp for từ 0 đến n phần tử

for(i = 0; i < n; i++){        

}

In ra thông báo nhập n phần tử

printf(" - Nhap phan tu: ");

Thêm các phần tử n vừa nhập vào mảng

scanf("%d",&a[i]);

Sử dụng vòng lặp for chạy từ 0 đến n-1 để so sánh 

for(i = 0; i < n-1; i++){

}

Sử dụng vòng lặp for chạy từ i+1 đến nhỏ hơn n để so sánh 

for(j = i+1; j<n; j++){

}

Sử dụng lệnh if để so sánh giá trị của 2 vòng lặp for

if(a[i] < a[j]){

} 

Nếu điều kiện bên trên thỏa mãn ta có các dòng code như sau

tam = a[i];
a[i] = a[j];
a[j] = tam;

In ra câu thông báo sau khi dãy số được sắp xếp

printf("\n => Day so sau khi sap xep la: ");

Sử dụng vòng lặp for để in các giá trị đã sắp xếp

for(i = 0; i < n; i++){

}

In ra các giá trị đã được sắp xếp

printf("%6d",a[i]);

Code hoàn chỉnh

// http://nguyenlediep.com

#include<stdio.h>
#include<conio.h>
main(){
    printf("\n");      
    int a[50], i, j, n, tam; 
    printf(" - Nhap vao so phan tu: "); 
    scanf("%d",&n);
    for(i = 0; i < n; i++){
        printf(" - Nhap phan tu: ");     
        scanf("%d",&a[i]);
    }
    for(i = 0; i < n-1; i++){
        for(j = i+1; j<n; j++){
            if(a[i] < a[j]){
                tam = a[i];
                a[i] = a[j];
                a[j] = tam;
            } 
        }
    }
    printf("\n => Day so sau khi sap xep la: ");
    for(i = 0; i < n; i++){
        printf("%6d",a[i]);
    }
    printf("\n >>>>> nldc.vn <<<<<\n");
}

Kết quả

  • Lưu C code thành file .cpp, nhấn F9 để biên dịch chương trình sau đó nhấn F10 ta được:
Chia sẻ
Nguyễn Lê Điệp

Nguyễn Lê Điệp

Có sở thích lập trình, viết lách nên đã từng tham gia ở một số diễn đàn, đến năm 2017 mới có điều kiện sáng lập ra blog NguyenLeDiep.Com Đang học tập và làm việc tại thành phố Hồ Chí Minh.