Hàm tự viết search trong C

Em có 1 cái project làm về quản lí sách trong thư viện. Em có vấn đề này mong mọi người giải đáp giúp em!
Em có làm 1 hàm search để user tìm kiếm thông tin như sách, author, publisher,… (hàm em làm như hình trên).
Tuy nhiên mặc dù giống 1 kí tự nó vẫn trả về, như vậy sẽ có rất nhiều kết quả rác. Em tính làm nếu giống nhau trên 50% kí tự tìm kiếm thì mới trả về. Nhưng hàm strstr nó lại không tính được số kí tự như scanf. Giờ em phải làm sao ạ?

Dùng hàm strstr(s1, s2) xem s2 có trong s1 ko. Nếu có thì tính % theo độ dài bằng cách lấy chuỗi s1 sao cho srtlen(s2)/strlen(s1) >= 0.5

2 Likes

string1 : “123456789”
string2: “123789”
string3: “Cau Lac Bo”
string4: “cau”
Bạn cho em hỏi:

  1. strstr (string1,string2) sẽ trả về gì?
  2. strstr(string3,string4) se4 trả về gì?

null cả 2 nhé :smiley:

3 Likes

bạn muốn f trả về gì?
f(“123456789”, “123789”) = ?
f(“Cau Lac Bo”, “cau”) = ?

2 Likes

Mới đầu mình tưởng cái số 2 trả về “au”. Tại tìm giống nhau hai kí tự?

vậy là bạn muốn 1 hàm f sao cho

f(“123456789”, “123789”) = “123789”
f(“Cau Lac Bo”, “cau”) = “au”

nếu vậy thì bạn tìm hiểu bài toán xâu con chung dài nhất

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?