c語言怎么輸入一個(gè)集合

小億
82
2024-10-11 16:53:16
欄目: 編程語言

在C語言中,沒有直接支持集合(set)的數(shù)據(jù)結(jié)構(gòu)。但是,你可以使用數(shù)組、鏈表或其他數(shù)據(jù)結(jié)構(gòu)來模擬集合的行為。

以下是一個(gè)使用數(shù)組模擬集合的簡單示例:

#include <stdio.h>
#include <stdbool.h>

#define MAX_SIZE 100

int main() {
    int set[MAX_SIZE];  // 定義一個(gè)大小為100的數(shù)組來存儲(chǔ)集合元素
    int size = 0;  // 用于記錄集合的大小

    // 輸入集合元素
    printf("請(qǐng)輸入集合的元素(輸入-1結(jié)束):\n");
    while (1) {
        int element;
        scanf("%d", &element);
        if (element == -1) {
            break;
        }
        // 檢查元素是否已經(jīng)存在于集合中
        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 已經(jīng)存在于集合中。\n", element);
        }
    }

    // 輸出集合元素
    printf("集合的元素為:\n");
    for (int i = 0; i < size; i++) {
        printf("%d ", set[i]);
    }
    printf("\n");

    return 0;
}

這個(gè)示例程序會(huì)提示用戶輸入集合的元素,直到用戶輸入-1為止。程序會(huì)檢查每個(gè)輸入的元素是否已經(jīng)存在于集合中,如果不存在,則將其添加到集合中。最后,程序會(huì)輸出集合的所有元素。

請(qǐng)注意,這個(gè)示例程序使用固定大小的數(shù)組來存儲(chǔ)集合元素,因此需要預(yù)先定義數(shù)組的大小。如果你需要處理更大或更小的集合,你可以考慮使用動(dòng)態(tài)內(nèi)存分配來調(diào)整數(shù)組的大小。此外,這個(gè)示例程序僅支持整數(shù)類型的元素,如果你需要處理其他類型的元素,你需要相應(yīng)地修改代碼。

0