编辑代码

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

// 定义关联数据结构
typedef struct {
    const char *input1;
    const char *input2;
    const char *result;
} Relation;

// 静态关联数据
Relation relations[] = {
    {"水", "冰箱", "冰块"},
    {"水", "土", "泥巴"},
    // 可以继续添加更多关联数据
};

// 函数:查找关联结果
const char *find_result(const char *input1, const char *input2) {
    for (size_t i = 0; i < sizeof(relations) / sizeof(relations[0]); ++i) {
        if (strcmp(input1, relations[i].input1) == 0 && strcmp(input2, relations[i].input2) == 0) {
            return relations[i].result;
        }
        // 增加对输入顺序的逆向匹配
        if (strcmp(input1, relations[i].input2) == 0 && strcmp(input2, relations[i].input1) == 0) {
            return relations[i].result;
        }
    }
    // 如果没有找到匹配的关联结果,返回空指针
    return NULL;
}

// 主函数
int main() {
    const char *input1 = "水";
    const char *input2 = "冰箱";
    const char *result = find_result(input1, input2);
    if (result) {
        printf("关联结果:%s\n", result);
    } else {
        printf("未找到相关联结果。\n");
    }

    input1 = "水";
    input2 = "土";
    result = find_result(input1, input2);
    if (result) {
        printf("关联结果:%s\n", result);
    } else {
        printf("未找到相关联结果。\n");
    }

    return 0;
}