SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
C
BÀI TẬP C
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

test php

banquyen png
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!

Cùng chuyên mục:

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

[STL] Các hàm thường dùng của lớp Vector trong C++

Top