Loại bỏ khoảng trắng thừa trong chuỗi 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 để loại bỏ các khoảng trắng thừa trong một chuỗi đã cho.
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.
- Loại bỏ các khoảng trắng thừa trong chuỗi.
- Hiển thị chuỗi đã loại bỏ khoảng trắng thừa.
Chương trình loại bỏ khoảng trắng thừa trong chuỗi 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ự hiện tại là khoảng trắng và ký tự tiếp theo cũng là khoảng trắng, bỏ qua ký tự đó.
- Nếu ký tự hiện tại không phải là khoảng trắng hoặc không tiếp theo là khoảng trắng, giữ nguyên ký tự đó.
- Hiển thị chuỗi sau khi đã loại bỏ khoảng trắng thừa.
Hãy xem cách giải như sau:
#include <stdio.h> #include <string.h> int main() { char str[100]; int i, j, len; printf("Nhập chuỗi: "); fgets(str, sizeof(str), stdin); len = strlen(str); // Loại bỏ khoảng trắng thừa for (i = 0; i < len; i++) { if (str[i] == ' ' && (str[i + 1] == ' ' || str[i + 1] == '\n')) { for (j = i; j < len; j++) { str[j] = str[j + 1]; } len--; // Giảm độ dài chuỗi i--; // Duyệt lại ký tự hiện tại } } printf("Chuỗi sau khi loại bỏ khoảng trắng thừa: %s\n", str); return 0; }
Kết quả:
Bài viết này được đăng tại [free tuts .net]
Nhập chuỗi: Hôm nay là một ngày đẹp Chuỗi sau khi loại bỏ khoảng trắng thừa: Hôm nay là một ngày đẹp
Đó là cách viết một chương trình trong ngôn ngữ lập trình C để loại bỏ các khoảng trắng thừa trong một chuỗi đã cho. Chúc bạn thực hiện thành công!