Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อลบช่องว่างในประโยคโดยใช้แนวคิดสตริง


ปัญหา

ลบช่องว่างทั้งหมดออกจากสตริงที่ป้อนขณะรันไทม์โดยใช้ while loop โดยตรวจสอบช่องว่างที่ดัชนีแต่ละตัวของอักขระ

วิธีแก้ปัญหา

ลองพิจารณาตัวอย่างด้านล่าง −

จะลบช่องว่างทั้งหมดออกจากสตริงที่กำหนด สตริงที่กำหนดคือ Tutorials Point C Programming . ผลลัพธ์หลังจากลบช่องว่างคือ TutorialsPointCProgramming .

อาร์เรย์ของอักขระเรียกว่าสตริง

ด้านล่างนี้คือ การประกาศ ของสตริง −

char stringname [size];

ตัวอย่างเช่น สตริงอักขระ[50]; สตริงที่มีความยาว 50 ตัวอักษร

การเริ่มต้น

  • การใช้ค่าคงที่อักขระตัวเดียว
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • การใช้ค่าคงที่สตริง
char string[10] = “Hello”:;

การเข้าถึง

มีสตริงควบคุม “%s” ที่ใช้สำหรับเข้าถึงสตริงจนกว่าจะพบ '\0'

ตรรกะที่เราใช้ในการลบช่องว่างระหว่างสตริงมีดังนี้ -

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