Tìm kiếm chuỗi trong C

1. Bài tập đảo tìm kiếm chuỗ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à hàm strstr() trong thư viện string.h của ngôn ngữ lập trình C.

Yêu cầu của bài tập đưa ra cho chúng ta là tìm kiếm chuỗi con trong chuỗ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à hàm strstr() trong thư viện string.h của ngôn ngữ lập trình C.

Hàm strstr() được sử dụng để tìm 1 chuỗi con trong 1 chuỗi mẹ.

Hàm này tìm kiếm sự xuất hiện của chuỗi con trong chuỗi mẹ. Nếu không tìm thấy thì trả về con trỏ NULL. Nếu tìm thấy thì trả về con trỏ trỏ tới vị trí đầu tiên của chuỗi con được tìm thấy trong chuỗi mẹ.

Các bước thực hiện yêu cầu của bài tập kiếm chuỗi con trong chuỗ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 x1[100] và char x2[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 hai biến x1 và x2. Rồi in biến x1 và x2 ra màn hình.

Bước 3: Ta dùng if với điều kiện nếu strstr(x1,x2) == NULL (tìm kiếm x2 trong x1 nếu trả về NULL thì x2 không có trong x1) thì x2 không có trong x1; ngược lại x2 có trong x1.

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

Chương trình giải bài tập tìm kiếm chuỗi con trong chuỗi bằng ngôn ngữ lập trình C như sau:

#include <stdio.h> 
#include <string.h>
int main(){ 
    char x1[100];// khai bao chuoi x1 có toi da 100 ky tu
    char x2[100];// khai bao chuoi x2 có toi da 100 ky tu
    printf("Nhap vao chuoi x1: "); 
    gets(x1);
    printf("\nChuoi vua nhap la: \nx1 = %s", x1);
    printf("\nNhap vao con muon tim: "); 
    gets(x2);
    if(strstr(x1,x2)==NULL){// x2 khong nam trong x1
        printf("\nChuoi x2 khong nam trong chuoi x1",x2);
    }else{// x2 nam trong x1
        printf("\nChuoi x2 nam trong chuoi x1",x2);
    }
}

Ví dụ tôi nhập chuỗi x1 = laptrinhtudau và x2=laptrinh

Kết quả:

Nhap vao chuoi x1: laptrinhtudau

Chuoi vua nhap la:
x1 = laptrinhtudau
Nhap vao con muon tim: laptrinh

Chuoi x2 nam trong chuoi x1

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 sao tìm kiếm chuỗi trong C.
  • Cách sử dụng hàm strstr() trong C.
Tham Khảo Thêm
Bài Viết Mới
Laptrinhtudau.com