Tách chuỗi thành các từ riêng lẻ và in ra màn hình trong C
Trong bài tập này, mình sẽ viết một chương trình trong ngôn ngữ lập trình C để tách một chuỗi thành các từ riêng lẻ và in ra màn hình.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
- Nhập vào một chuỗi từ người dùng.
 - Tách chuỗi thành các từ riêng lẻ.
 - In ra màn hình các từ đã tách.
 
Chương trình tách chuỗi thành các từ riêng lẻ trong C
Cách giải quyết bài lập trình
- Duyệt qua từng ký tự trong chuỗi.
 - Nếu ký tự không phải là khoảng trắng hoặc ký tự kết thúc chuỗi, tiếp tục thêm ký tự vào từ hiện tại.
 - Nếu ký tự là khoảng trắng hoặc ký tự kết thúc chuỗi, in từ hiện tại ra màn hình và đặt lại từ hiện tại thành chuỗi rỗng.
 - Lặp lại quá trình cho đến khi duyệt hết chuỗi.
 
Hãy xem cách giải như sau:
#include <stdio.h>
#include <string.h>
void splitString(char str[]) {
    int i, j;
    char word[100];
    // Duyệt qua từng ký tự trong chuỗi
    for (i = 0, j = 0; i <= strlen(str); i++) {
        // Nếu gặp khoảng trắng hoặc ký tự kết thúc chuỗi
        if (str[i] == ' ' || str[i] == '\0') {
            word[j] = '\0'; // Kết thúc từ hiện tại
            if (strlen(word) > 0) {
                printf("%s\n", word); // In từ ra màn hình của freetuts.net
                j = 0; // Đặt lại chỉ số cho từ mới
            }
        } else {
            word[j++] = str[i]; // Thêm ký tự vào từ hiện tại
        }
    }
}
int main() {
    char str[100];
    printf("Nhập chuỗi: ");
    fgets(str, sizeof(str), stdin);
    printf("Các từ trong chuỗi:\n");
    splitString(str);
    return 0;
}
Kết quả chạy ra màn hình:
Bài viết này được đăng tại [free tuts .net]
Nhập chuỗi: Học lập trình tại freetuts.net Các từ trong chuỗi: Học lập trình tại freetuts.net
Trên đây là cách viết một chương trình trong ngôn ngữ lập trình C để tách một chuỗi thành các từ riêng lẻ và in ra màn hình. Chúc bạn thực hiện thành công!

            Các kiểu dữ liệu trong C ( int - float - double - char ...)        
            Thuật toán tìm ước chung lớn nhất trong C/C++        
            Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)        
            ComboBox - ListBox trong lập trình C# winforms        
            Random trong Python: Tạo số random ngẫu nhiên        
            Lệnh cin và cout trong C++        
                Cách khai báo biến trong PHP, các loại biến thường gặp            
                Download và cài đặt Vertrigo Server            
                Thẻ li trong HTML            
                Thẻ article trong HTML5            
                Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên            
                Cách dùng thẻ img trong HTML và các thuộc tính của img            
                Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng