溫馨提示×

c語言怎么過濾重復(fù)字符串

小億
132
2023-11-07 20:34:35
欄目: 編程語言

可以使用兩層循環(huán)進(jìn)行遍歷和比較,如果發(fā)現(xiàn)重復(fù)的字符串,則將其過濾掉。

以下是一個示例代碼:

#include <stdio.h>
#include <string.h>

void filterDuplicateStrings(char strings[][100], int n) {
    int i, j;
    for (i = 0; i < n; i++) {
        if (strings[i][0] == '\0') { // 已經(jīng)被過濾掉的字符串
            continue;
        }
        for (j = i + 1; j < n; j++) {
            if (strcmp(strings[i], strings[j]) == 0) {
                strings[j][0] = '\0'; // 將重復(fù)的字符串置為空字符串
            }
        }
    }
}

int main() {
    char strings[][100] = {
        "apple",
        "banana",
        "orange",
        "apple",
        "kiwi",
        "banana"
    };
    int n = sizeof(strings) / sizeof(strings[0]);

    filterDuplicateStrings(strings, n);

    printf("After filtering duplicate strings:\n");
    for (int i = 0; i < n; i++) {
        if (strings[i][0] != '\0') {
            printf("%s\n", strings[i]);
        }
    }

    return 0;
}

輸出結(jié)果為:

After filtering duplicate strings:
apple
banana
orange
kiwi

注意,這個示例使用了一個二維字符數(shù)組來存儲字符串,你可以根據(jù)實際情況進(jìn)行修改。

0