在C語言中,沒有直接支持集合(set)的數據結構。但是,你可以使用數組、鏈表或其他數據結構來模擬集合的行為。
以下是一個使用數組模擬集合的簡單示例:
#include <stdio.h>
#include <stdbool.h>
#define MAX_SIZE 100
int main() {
int set[MAX_SIZE]; // 定義一個大小為100的數組來存儲集合元素
int size = 0; // 用于記錄集合的大小
// 輸入集合元素
printf("請輸入集合的元素(輸入-1結束):\n");
while (1) {
int element;
scanf("%d", &element);
if (element == -1) {
break;
}
// 檢查元素是否已經存在于集合中
bool is_exists = false;
for (int i = 0; i < size; i++) {
if (set[i] == element) {
is_exists = true;
break;
}
}
if (!is_exists) {
set[size++] = element; // 如果元素不存在于集合中,則添加到集合中
} else {
printf("元素 %d 已經存在于集合中。\n", element);
}
}
// 輸出集合元素
printf("集合的元素為:\n");
for (int i = 0; i < size; i++) {
printf("%d ", set[i]);
}
printf("\n");
return 0;
}
這個示例程序會提示用戶輸入集合的元素,直到用戶輸入-1為止。程序會檢查每個輸入的元素是否已經存在于集合中,如果不存在,則將其添加到集合中。最后,程序會輸出集合的所有元素。
請注意,這個示例程序使用固定大小的數組來存儲集合元素,因此需要預先定義數組的大小。如果你需要處理更大或更小的集合,你可以考慮使用動態內存分配來調整數組的大小。此外,這個示例程序僅支持整數類型的元素,如果你需要處理其他類型的元素,你需要相應地修改代碼。