Vấn đề
Xóa tất cả các khoảng trắng khỏi một chuỗi đã nhập trong thời gian chạy với sự trợ giúp của vòng lặp while bằng cách kiểm tra các khoảng trắng ở mỗi chỉ mục của một ký tự.
Giải pháp
Hãy xem xét một ví dụ được đưa ra bên dưới -
Nó loại bỏ tất cả các khoảng trắng khỏi một chuỗi nhất định. Chuỗi đã cho là Hướng dẫn lập trình điểm C . Kết quả sau khi loại bỏ khoảng trắng là TutorialsPointCProgramming .
Một mảng các ký tự được gọi là một chuỗi.
Dưới đây là tuyên bố của một chuỗi -
char stringname [size];
Ví dụ, chuỗi ký tự char [50]; chuỗi dài 50 ký tự.
Khởi tạo
- Sử dụng hằng số ký tự.
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- Sử dụng hằng số chuỗi.
char string[10] = “Hello”:;
Đang truy cập
Có một chuỗi điều khiển “% s” được sử dụng để truy cập vào chuỗi cho đến khi nó gặp ‘\ 0’.
Logic mà chúng tôi sử dụng để xóa khoảng trắng giữa các chuỗi như sau -
while(string[i]!='\0'){ check=0; if(string[i]==' '){ j=i; while(string[j-1]!='\0'){ string[j] = string[j+1]; j++; } check = 1; } if(check==0) i++; }
Ví dụ
Sau đây là chương trình C để loại bỏ tất cả các khoảng trắng trong một câu bằng cách sử dụng các khái niệm chuỗi -
#include<stdio.h> int main() { char string[50]; int i=0, j, check; printf("Enter any statement: "); gets(string); while(string[i]!='\0') { check=0; if(string[i]==' ') { j=i; while(string[j-1]!='\0') { string[j] = string[j+1]; j++; } check = 1; } if(check==0) i++; } printf("\nSentence without spaces: %s", string); getch(); return 0; }
Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
Run 1: Enter any statement: Tutorials Point C Programming Sentence without spaces: TutorialsPointCProgramming Run 2: Enter any statement: Welcome to the world of tutorials Sentence without spaces: Welcometotheworldoftutorials