猜数字游戏(1~100)
1.游戏生成一个随机数,玩家来猜测
2.如果猜大了,屏幕输出猜大了
3.如果猜小了,屏幕输出猜小了
4.如果猜对了,屏幕输出猜对了
5.游戏可以重复玩
以下是全部代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("###############\n");
printf("####1.play####\n");
printf("####2.exit####\n");
printf("###############\n");
}
void game()
{
int num = rand() % 100 + 1;
int input = 0;
while (1)
{
printf("请输入猜的数字:\n");
scanf("%d", &input);
if (input < num)
{
printf("猜小了\n");
}
else if (input > num)
{
printf("猜大了\n");
}
else
{
printf("猜对了\n");
break;
}
}
}
int main()
{
srand((unsigned)time(NULL));
int choose = 0;
do
{
menu();
printf("请选择:\n");
scanf("%d", &choose);
switch (choose)
{
case 1:game(); break;
case 2:break;
}
} while (choose == 1);
return 0;
}
- 猜数字游戏的实现主要依靠折半查找算法,也叫二分查找算法。该算法是一种在一个 有序数组内查找某一特定元素的算法。查找过程从有序数组的中间元素开始,如果中间元素恰好是要找的元素,那么查找结束;如果要查找的元素比中间元素大或者小,就在相应部分的数组中继续查找,以此类推。
- rand()函数:
函数功能 随机数发生器 特点 以某个数(种子)为基准,通过某个递推公式产生一系列数,是假随机数。如果用户未提供种子,系统默认种子为1 所在头文件 stdlib.h 用法 int rand(void) -
srand()函数:
函数功能 | 初始化随机数发生器 |
特点 | 用来设置rand( )的随机数种子,如果每次的随机数种子一样,则rand( )产生的随机数不变 |
所在头文件 | stdlib.h |
用法 | void srand( unsigned int seed ) 注意seed是无符号整型 |
- time( )函数:
函数功能 | 返回一个值,即1970年1月1日00:00:00到当前时刻的时长,时长单位是秒 |
所在头文件 | time.h |