首先大体构建思路
- 选择开始游戏或者结束游戏可以使用switch、case语句
- switch语句中嵌套一个for循环用来执行猜数字算法
- 由于循环较多要判别清楚逻辑
- 由于要引入随机值所以放置一个rand()函数,在stdlib.h库文件中声明
- 给rand()函数投放随机种子时需要用到时间,因为时间是无时不刻的在改变着的,所以导入time.h库
下面是代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<time.h>
int main(){
int a;
int b;
for (;;){
srand(time(NULL));
int c = (rand() % 100);
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf("1.开始游戏\t");
printf("2.结束游戏\n");
scanf("%d", &a);
switch (a){
case 1:
for (;;){
printf("请输入一个你要猜的数\t");
scanf("%d", &b);
if (b < c){
printf("小了\n");
}
else if (b>c){
printf("大了\n");
}
else{
printf("你猜对了,数是%d\n", b);
break;
}
}
break;
case 2:
exit(0);
}
}
}
case2在这里是选择退出游戏,用了一个exit()函数,这个函数相当于在main()函数中return 0;这样游戏也就结束了
当然这个代码并不是很科学,因为其中嵌套的循环比较多,其主要原因是为了实现开始游戏\结束游戏menu,在后面可以用到函数传参的方式来解决这一问题