实验要求:
用户从系统给出的7个数中选择一个数并记在心里,利用数学原理编写程序找出用户所选择的数。
1、存贮并显示给定的一组7个数【 1 2 3 4 5 6 7】
2、记住一个心里猜的给定的整数N
3、系统显示四个数,回答你猜的是否在
1)如果输入1 存在
2)如果输入0 不存在
4、重复输入三次
5、系统自动显示你猜的数
#include <stdio.h>
int main() {
int nums[] = {1, 2, 3, 4, 5, 6, 7};
int guess[3];
int n, i, j, k = 0;
printf("请您在1-7中选一个数字并记在心里\n");
printf("请问数字1是否在您的心中?(1/0)\n");
scanf("%d", &i);
printf("请问数字2是否在您的心中?(1/0)\n");
scanf("%d", &j);
printf("请问数字3是否在您的心中?(1/0)\n");
scanf("%d", &k);
printf("请问数字4是否在您的心中?(1/0)\n");
scanf("%d", &n);
guess[0] = i;
guess[1] = j;
guess[2] = k;
for (i = 0; i < 7; i++) {
for (j = 0; j < 3; j++) {
if (nums[i] == j+1 && guess[j] == 1) {
break;
}
if (j == 2 && nums[i] != n) {
printf("%d不在您的心中\n", nums[i]);
}
}
if (nums[i] == n) {
printf("恭喜您,您的心中数字是%d\n", n);
break;
}
}
return 0;
}
通过这次的二叉树的运用,深刻懂得了很多递归的思想与非递归的思想。递归中可以通过从后往前的思想去计算递归的次数。可以通过利用中介bintree p去实现左右子树的互换。通过前序和中序去创建一个二叉树结构……这些思想都可以运用到以后的实际案例中。收获很大。