Menu
CoddyTech

Ôn tập: các hàm xử lý chuỗi cơ bản

Thuộc phần Logic và luồng điều khiển trong hành trình C của Coddy. Bài học 19 trên 63.

challenge icon

Thử thách

Dễ

Viết một chương trình C xử lý các cặp từ và minh họa tất cả hàm xử lý chuỗi thiết yếu mà bạn đã học. Chương trình cần:

  1. Đọc một số nguyên n biểu thị số cặp từ cần xử lý
  2. Với mỗi cặp từ:
    • Đọc từ thứ nhất từ đầu vào
    • Đọc từ thứ hai từ đầu vào
    • Dùng strlen() để tính và in độ dài của mỗi từ
    • Dùng strcmp() để so sánh hai từ và in xem chúng giống hệt hay khác nhau
    • Tạo một chuỗi kết hợp bằng cách nối từ thứ nhất, một dấu cách và từ thứ hai bằng strcpy() và strcat()
    • In chuỗi kết hợp
  3. Sau khi xử lý tất cả các cặp, tìm và in cặp tạo ra chuỗi kết hợp dài nhất

Nhớ thêm tiêu đề <string.h> để sử dụng các hàm xử lý chuỗi.

Đầu ra của bạn cần hiển thị kết quả theo định dạng sau:

Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
Word 1: [word1] (Length: [length1])
Word 2: [word2] (Length: [length2])
Comparison: [identical/different]
Combined: [word1 word2]
...
Longest combined string: [longest_combined_string]

Ví dụ, nếu đầu vào là:

3
hello
world
test
test
programming
language

Đầu ra của bạn sẽ là:

Word 1: hello (Length: 5)
Word 2: world (Length: 5)
Comparison: different
Combined: hello world
Word 1: test (Length: 4)
Word 2: test (Length: 4)
Comparison: identical
Combined: test test
Word 1: programming (Length: 11)
Word 2: language (Length: 8)
Comparison: different
Combined: programming language
Longest combined string: programming language

Thử thách này kiểm tra khả năng kết hợp strlen() để tính độ dài, strcmp() để so sánh chuỗi và strcpy() cùng strcat() để nối chuỗi trong một chương trình tổng hợp xử lý nhiều cặp chuỗi.

Tự làm thử

#include <stdio.h>
#include <string.h>

int main() {
    int n;
    scanf("%d", &n);
    
    char word1[100], word2[100];
    char combined[200];
    char longest_combined[200] = "";
    
    // TODO: Viết code tại đây
    // Xử lý từng cặp từ và tìm chuỗi (string) dài nhất tạo ra khi ghép chúng
    
    return 0;
}

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch C online