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!