Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C xóa khoảng trắng thừa dùng khái niệm chuỗi


Vấn đề

Xóa tất cả khoảng trắng thừa từ chuỗi nhập runtime bằng while loop, kiểm tra khoảng trắng tại mỗi chỉ số.

Giải pháp

Ví dụ: "Tutorials Point C Programming" -> "TutorialsPointCProgramming" (xóa tất cả khoảng trắng).

Khai báo chuỗi: char stringname[size];

Khởi tạo

  • Hằng ký tự đơn.
char string[10] = {'H','e','l','l','o','\0'}
  • Hằng chuỗi.
char string[10] = "Hello";

Truy cập

Dùng "%s" truy cập đến '\0'.

Logic xóa khoảng trắng thừa:

len = strlen(string); 
for(i = 0; i < len; i++){ 
    if(string[0] == ' '){ 
        for(i = 0; i < len-1; i++) string[i] = string[i+1]; 
        string[i] = '\0'; 
        len--; i = -1; continue; 
    } 
    if(string[i] == ' ' && string[i+1] == ' '){ 
        for(j = i; j < len-1; j++) string[j] = string[j+1]; 
        string[j] = '\0'; 
        len--; i--; 
    } 
}

Ví dụ

Chương trình C xóa khoảng trắng thừa:

#include <stdio.h> 
#include <string.h> 
int main(){ 
    char string[200]; 
    int i, j, len; 
    printf("Nhap cau: "); 
    gets(string); 
    len = strlen(string); 
    for(i = 0; i < len; i++){ 
        if(string[0] == ' '){ 
            for(i = 0; i < len-1; i++) string[i] = string[i+1]; 
            string[i] = '\0'; len--; i = -1; continue; 
        } 
        if(string[i] == ' ' && string[i+1] == ' '){ 
            for(j = i; j < len-1; j++) string[j] = string[j+1]; 
            string[j] = '\0'; len--; i--; 
        } 
    } 
    printf("\nChuoi moi sau xoa khoang trang thua = %s", string); 
    getch(); 
    return 0; 
}

Đầu ra

Kết quả chạy chương trình:

Nhap cau: Welcome to The world of C programming 
Chuoi moi: Welcome to The world of C programming