为了跟好的理解二分法查找,设计猜数游戏。
通过菜单,游戏,主函数三部分实现。
注意:1.随机数的生成方法
rand()函数:随机数生成器,因为vs平台其取值范围为RAND_MAX(0- 0x7FFF(32767)),所以使用rand()%100+1来缩小随机数的范围0-100.
srand()函数:对rand函数的调用,srand((unsigned)time(NULL))则是使用系统定时/计数器的值作为随机种子,若使用常量作为随机值,则生成一组有固定顺序的随机数。失去了游戏的趣味性,此处应使用time,则应加头文件#include<time.h>..
2.循环结构和选择结构的正确理解与使用.
.代码:
#include<stdio.h>
#include<time.h>#include<stdlib.h>
void meau()
{
printf("**************************\n");
printf("***1.start 2.end ***\n");
printf("**************************\n");
}
void game()
{
int a = 0;
int ret=rand() % 100+1;
while (1)
{
printf("请猜一个数字\n");
scanf_s("%d", &a);
if (a > ret)
{
printf("猜大了\n");
}
else if (a < ret)
{
printf("猜小了\n");
}
else
{
printf("猜对了,牛逼\n");
break;
}
}
}
int main()
{
srand((unsigned)time(NULL));
printf("请选择:\n");
meau();
int i = 0;
flag:scanf_s("%d", &i);
switch (i)
{
case 1:
game();
break;
case 2:
printf("游戏结束\n");
break;
default:
printf("请重新选择\n");
goto flag;
break;
}
return 0;
}