1. Bài tập kiểm tra tính đối xứng của chuỗi 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à dùng vòng lặp for để duyệt các ký tự trong chuỗi.

Yêu cầu của bài tập đưa ra cho chúng ta là kiểm tra tính đối xứng của chuỗi bằng ngôn ngữ lập trình C.

2. Lời giải

Vậy chuỗi đối xứng là gì?

Chuỗi đối xứng là tên gọi của những chuỗi kí tự mà khi viết từ phải qua trái hay từ trái qua phải thì chuỗi đó không thay đổi.

Ví dụ chuỗi đối xúng: abcba, 12321, …

Để 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à dùng vòng lặp for để duyệt các ký tự trong chuỗi.

Các bước thực hiện yêu cầu của bài tập kiểm tra tính đối xứng của chuỗi bằng ngôn ngữ lập trình C như sau:

Bước 1: Ta khởi tạo hàm bool kiemtradx(char a[]) dùng để kiểm tra tính đối xứng của chuỗi. Trong hàm ta sử dụng vòng lặp for bắt đầu từ int i =0, kết thúc khi i<strlen(a)/2 và mỗi lần lặp i tăng lên 1. Trong vòng lặp ta dùng if với điều kiện nếu a[i] = a[strlen(a)-i-1] thì trả về true (chuỗi đối xứng). Kết thúc lặp ta trả về false (chuỗi còn lại không đối xứng).

Bước 2: 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 3: 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 4: Dùng if với điều kiện nếu kiemtradx(a)==true thì chuỗi đối xứng ngược lại chuỗi không đối xứng.

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

Chương trình giải bài tập kiểm tra tính đối xứng của chuỗi bằng ngôn ngữ lập trình C như sau:

#include <stdio.h> 
#include <string.h>
bool kiemtradx(char a[]){
    for(int i=0; i< strlen(a)/2; i++){
        if(a[i]==a[strlen(a)-i-1]){
            return true;
        }
    }
    return false;
}
int main(){ 
    char a[100];// khai bao chuoi a có toi da 100 ky tu
    printf("Nhap vao chuoi: "); 
    gets(a);
    printf("\nChuoi vua nhap la: \nx1 = %s",a);
    if(kiemtradx(a)==true){
        printf("\nChuoi doi xung!");
    }else{
        printf("\nChuoi khong doi xung!");
    }
}

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

Kết quả:

Nhap vao chuoi: abcdcba

Chuoi vua nhap la:
x1 = abcdcba
Chuoi doi xung!

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 kiểm tra tính đối xứng của chuỗi trong C.