1. Bài tập sắp xếp chuỗi theo bảng chữ cái bằng ngôn ngữ lập trình C

Bài tập này chúng ta sẽ sử dụng các kiến thức từ ngôn ngữ lập trình C như: cách nhập xuất chuỗi cơ bản trong ngôn ngữ lập trình C và cách sử dụng hàm strlen() trong ngôn ngữ lập trinh C.

Yêu cầu của bài tập đưa ra cho chúng ta là sắp xếp chuỗi theo bảng chữ cái bằng ngôn ngữ lập trình C.

2. Lời giải

Để thực hiện bài toán này chúng ta cần có kiến thức cơ bản về ngôn ngữ lập trình C, các cách nhập xuất chuỗi cơ bản trong C và cách sử dụng hàm strlen() trong ngôn ngữ lập trình C.

Các bước thực hiện yêu cầu của bài tập sắp xếp chuỗi theo bảng chữ cái bằng ngôn ngữ lập trình C như sau:

Bước 1: Trong hàm main khai báo biến char a[100] biến chứa ký thự ta sẽ nhập vào (tối đa 100 ký tự).

Bước 2: Nhập dữ liệu từ bàn phím gán vào biến a rồi in biến a ra màn hình.

Bước 3: Khai báo biến int length = strlen(a) dùng để gán giá trị chiều dài của chuỗi.

Bước 4: Sau đó sử dụng lồng vòng lặp for bắt đầu từ int i = 0, kết thúc khi i < length – 1 và mỗi lần i tăng lên 1; trong vòng for i ta tạo vòng for j bắt từ int j = i+1, kết thúc khi i < length và mỗi lần j tăng lên 1, trong vòng for j ta dùng if với điều kiện a[i] > a[j] nếu thỏa mãn thì đổi chỗ a[i] với a[j] qua biến char tg (sau khi sắp xếp thì chuỗi sẽ được sắp xếp theo bảng ASCII).

Bước 5: Chạy chương trình.

Chương trình giải bài tập sắp xếp chuỗi theo bảng chữ cái bằng ngôn ngữ lập trình C như sau:

#include <stdio.h> 
#include <string.h> 
int main(){ 
    char a[100];// khai bao chuoi a có toi da 100 ky tu
    printf("Nhap vao chuoi ky tu: "); 
    gets(a);
    printf("Chuoi ly tu vua nhap la: %s",a); 
    int length = strlen(a);// khai bao bien length la do dai chuoi
    for(int i = 0; i < length-1; i++){
        for(int j = i+1; j < length; j++){
            if(a[i] > a[j]){//neu a[i] > a[j] thi doi cho a[i] voi a[j] qua bien tg
                char tg = a[i];
                a[i] = a[j];
                a[j] = tg;
            }
        }
    }
    printf("\nChuoi sau khi sap xep la: %s",a); 
}

Ví dụ tôi nhập vào chuỗi: laptrinhtudau

Kết quả:

Nhap vao chuoi ky tu: laptrinhtudau
Chuoi ly tu vua nhap la: laptrinhtudau
Chuoi sau khi sap xep la: aadhilnprttuu

3. Tổng kết

Sau khi làm bài tập này các bạn cần phải hiểu và nắm được những kiến thức sau:

  • Cách nhập xuất chuỗi cơ bản trong ngôn ngữ lập trình C.
  • Cách sử dụng hàm strlen() trong C.
  • Cách sử dụng vòng lặp để duyệt qua các phần tử của chuỗi.
  • Cách sắp xếp chuỗi theo bảng chữ cái trong C.
  • Cách đổi chỗ các ký tự trong chuỗi qua biến trung gian.