c语言怎么过滤重复字符串

寻技术 C/C++编程 前天 18:38 9

可以使用两层循环进行遍历和比较,如果发现重复的字符串,则将其过滤掉。

以下是一个示例代码:

#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

注意,这个示例使用了一个二维字符数组来存储字符串,你可以根据实际情况进行修改。

关闭

用微信“扫一扫”