前言:
首先我先来介绍一下咱们所玩的这个游戏的对手或是对象是电脑。而且之前我们所学的都是通过自己输入一个数字,但如果在这个游戏的编写过程中你已知一个数字在进行猜数,感觉就有点丧失掉了这个游戏的意义。所以接下来要介绍的是那个能实现由电脑自己生成一个数的函数——随机数函数。
一、函数具体介绍
随机函数———rand(),这个函数的返回值是为int类型,所以我们通常要去定义一个int类型的变量,来保存这个函数所返回的值。但这个函数实际上是一个库函数,但并不包含在我们通常使用的那个头文件中,所以我们要想使用这个函数,我们就要引用一个新的头文件——#include<stdlib.h>。
其次我们还可以通过以对rand()这个式子进行取余的运算同样也可以生成一个随机数的范围。类似与rand()%100,我们就可以将随机数的范围限制在0~100内。
在之前的准备之下,我们可以去生成一个随机的数字,但同时我们生成的这个数字可能是没有变化的例如
第一次执行:
di
第二次执行:
我们可以对比得出生成随机数的顺序是一样的。
所以我们可以引用srand这个函数来进行调整,同时也还需要时间函数,不过这个时间函数并不需要有返回值,而且要使用这个时间函数,我们要引用一个新的头文件:#include<time.h>
二、程序
猜数游戏:
总体代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void meu() {
printf("*****************************\n");
printf("******** 1. play ********\n");
printf("******** 0. exit ********\n");
printf("*****************************\n");
}
void game() {
int number = rand() % 100 + 1;//可以生成范围1~100的随机数
printf("请输入你所猜的数:");
int guess = 0;
while (1) {
scanf_s("%d", &guess);
if (guess == number) {
printf("猜对了\n");
break;
}
else if (guess < number) {
printf("猜小了\n");
}
else if (guess > number) {
printf("猜大了\n");
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
meu();
printf("请选择:>");
scanf_s("%d", &input);
switch (input)
{
case 1:
game();//猜数字的整个逻辑
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,重新选择!\n");
break;
}
} while (input);
return 0;
}
2.运行结果
如下:
总结
以上就是今天我想要分享的全部了,希望我的分享能对大家的学习过程有所帮助,下次再见了.