可以使用兩層循環進行遍歷和比較,如果發現重復的字符串,則將其過濾掉。
以下是一個示例代碼:
#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') { // 已經被過濾掉的字符串
continue;
}
for (j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) == 0) {
strings[j][0] = '\0'; // 將重復的字符串置為空字符串
}
}
}
}
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;
}
輸出結果為:
After filtering duplicate strings:
apple
banana
orange
kiwi
注意,這個示例使用了一個二維字符數組來存儲字符串,你可以根據實際情況進行修改。