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'

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

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

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C เพื่อลบช่องว่างพิเศษทั้งหมดในประโยคโดยใช้แนวคิดสตริง -

#include<stdio.h>
int main() {
   char string[200];
   int i, j, len;
   printf("Enter a statement: ");
   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("\nNew String after removing extra spaces is = %s", string);
   getch();
   return 0;
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะสร้างผลลัพธ์ต่อไปนี้ -

Enter a statement: Welcome to The world of C programming
New String after removing extra spaces is = Welcome to The world of C programming