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

คำอธิบายฟังก์ชัน Squeeze ในภาษา C


Squeeze(s1, s2) หรือ squeeze(char[], char[]) เป็นฟังก์ชันที่ผู้ใช้นิยามเอง ใช้สำหรับลบตัวอักษรที่ซ้ำหรือเหมือนกันในสองสตริง

ปัญหา

วิธีลบตัวอักษรที่ซ้ำในสองสตริง โดยใช้ฟังก์ชัน Squeeze ในภาษา C?

วิธีแก้

ในโปรแกรมนี้ ผู้ใช้ป้อนสตริง 2 ตัวในคอนโซล และเขียนโค้ดแสดงสตริงแรก โดยไม่นับตัวอักษรที่ซ้ำในสตริงที่สอง

ตัวอย่าง

โปรแกรม C ที่สาธิตการทำงานของฟังก์ชัน Squeeze:

#include <stdio.h>

void squeeze(char string1[], char string2[]); // ประกาศโพรโทไทป์

int main() {
    char string1[50];
    char string2[30];
    
    printf("enter the string1:");
    scanf("%s", string1); // อ่าน string1 จากคีย์บอร์ด
    
    printf("enter the string2:");
    scanf("%s", string2); // อ่าน string2 จากคีย์บอร์ด
    
    squeeze(string1, string2); // เรียกฟังก์ชัน squeeze
    
    printf("Final string is:%s\n", string1);
    return 0;
}

void squeeze(char string1[], char string2[]) {
    int i, j, k;
    for(i = k = 0; string1[i] != '\0'; i++) {
        for(j = 0; string2[j] != '\0' && string2[j] != string1[i]; j++)
            ;
        if(string2[j] == '\0')
            string1[k++] = string1[i];
    }
    string1[k] = '\0';
}

ผลลัพธ์

ผลลัพธ์ระบุด้านล่าง:

Enter the string1 : Tutorial
Enter the string2 : ut
Final string : Torial