Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

문자열 개념을 사용하여 문장에서 공백을 제거하는 C 프로그램.

<시간/>

문제

문자의 각 인덱스에서 공백을 확인하여 while 루프를 사용하여 런타임에 입력된 문자열에서 모든 공백을 제거합니다.

해결책

아래 주어진 예를 고려하십시오 -

주어진 문자열에서 모든 공백을 제거합니다. 주어진 문자열은 튜토리얼 포인트 C 프로그래밍입니다. . 공백을 제거한 후의 결과는 TutorialsPointCProgramming입니다. .

문자 배열을 문자열이라고 합니다.

아래는 선언입니다. 문자열 -

char stringname [size];

예를 들어, char string[50]; 길이 50자의 문자열.

초기화

  • 단일 문자 상수 사용
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 문자열 상수 사용.
char string[10] = “Hello”:;

액세스

'\0'이 나타날 때까지 문자열에 액세스하는 데 사용되는 제어 문자열 "%s"가 있습니다.

문자열 사이의 공백을 제거하는 데 사용한 논리는 다음과 같습니다. -

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++;
}

예시

다음은 문자열 개념을 사용하여 문장의 모든 공백을 제거하는 C 프로그램입니다 -

#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;
}

출력

위의 프로그램이 실행되면 다음과 같은 출력을 생성합니다 -

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