二叉树 和 游戏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个用二叉树实现的猜数字游戏的C语言代码: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> // 二叉树节点的结构体 typedef struct node { int value; struct node *left; struct node *right; } Node; // 生成一个随机数(1-100) int generate_random_number() { srand((unsigned)time(NULL)); return rand() % 100 + 1; } // 创建一个二叉树节点 Node *create_node(int value) { Node *node = (Node *)malloc(sizeof(Node)); node->value = value; node->left = NULL; node->right = NULL; return node; } // 在二叉树插入一个节点 void insert_node(Node **root, int value) { if (*root == NULL) { *root = create_node(value); return; } if (value < (*root)->value) { insert_node(&(*root)->left, value); } else if (value > (*root)->value) { insert_node(&(*root)->right, value); } } // 猜数字游戏 void guess_number(Node *root) { printf("请输入一个1-100之间的数字:"); int number; scanf("%d", &number); if (number < root->value) { printf("猜小了!\n"); guess_number(root->left); } else if (number > root->value) { printf("猜大了!\n"); guess_number(root->right); } else { printf("恭喜你猜对了!\n"); } } int main() { // 生成一个随机数 int number = generate_random_number(); // 创建一个二叉树 Node *root = create_node(number); // 插入9个随机数 for (int i = 0; i < 9; i++) { int value = generate_random_number(); insert_node(&root, value); } // 开始猜数字游戏 guess_number(root); // 释放二叉树节点的内存 free(root); return 0; } ``` 这个游戏的规则是:程序会随机生成一个1-100之间的数字,并把这个数字作为二叉树的根节点。然后程序会再生成9个随机数,并把它们插入到二叉树。玩家需要输入一个1-100之间的数字进行猜测,程序会告诉玩家是猜小了还是猜大了,直到猜对为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值