猜数游戏

要求:电脑随机生成一个数,用户猜数,如果猜小了,电脑提示猜小了,如果猜大了,电脑提示猜大了。如果相等,则猜数成功。

//猜数游戏
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
	printf("********************\n");
	printf("******1---play******\n");
	printf("******0---exit******\n");
	printf("********************\n");
}
void play()
{
	int mynumber, yournumber;
	srand((unsigned)time(NULL));
	mynumber = rand()%100;
	printf("Enter yournumber:\n");
	scanf("%d", &yournumber);
	if (yournumber == mynumber)
	   printf("猜对了!\n");
	while (yournumber != mynumber)
	{
		if (yournumber > mynumber)
			printf("猜大了!\n");
		else if (yournumber < mynumber)
			printf("猜小了!\n");
		printf("Enter yournumber:>\n");
		scanf("%d", &yournumber);
		if (yournumber == mynumber)
			printf("猜对了!\n");
	}
}
int main()
{
	//打印菜单供选择
	//做出选择
	//玩游戏函数
	int s;
	do{
		menu();
		printf("请做出选择:>");
		scanf("%d", &s);
		switch (s)
		{
		case 1:play();break;
		case 0:printf("退出游戏!\n"); break;
		default:printf("输入错误!\n"); break;
		}
	} while (s);
    system("pause");
    return 0;
}

代码思路:

  1. 首先打印菜单,让用户做出选择,是否玩游戏。
  2. 电脑随机生成一个数。
  3. 用户输入一个数。
  4. 判断两个数的大小,直到猜正确为止。
  5. 选择是否继续游戏。

重要知识点:

  • 生成随机数

rand()是生成随机数的函数。——————该函数的的头文件是stdlib.h;

但是它是按照指定的顺序产生整数,因此每次运行都是同样的值。又称为伪随机数。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i=0;
	while (i < 6)
	{
		printf("%d\n", rand());
		i++;
	}
	system("pause");
	return 0;
}

第一次运行:


第二次运行:


  • 所以为了使程序在每次执行时都可以产生新的随机值,我们通常通过伪随机数生成器提供一粒新的随机种子。函数srand()可以为随机数生成器传播种子。只要种子不同rand()就会产生不同的随机数序列。
  • srand函数是随机数发生器的初始化函数。原型是:void  srand(unsigned int seed)和rand()配合使用产生伪随机数序列。srand()为rand()函数提供种子,即:种子相同,那么生成的随机数每次也都相同。

eg:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i=0;
	int n = 10;
	srand((unsigned)n);
	while (i < 6)
	{
		printf("%d\n", rand());
		i++;
	}
	system("pause");
	return 0;
}

第一次运行:

扫描二维码关注公众号,回复: 1048204 查看本文章


第二次运行:


  • 所以不应该选择一个固定的数作为种子,时间每分每秒都在变化,所以通常以时间作为种子,生成的随机数会变化。
  • 语句为:srand(unsigned time(NULL));
生成随机数后然后循环判断数的大小,并确定是否继续。

猜你喜欢

转载自blog.csdn.net/zhao_miao/article/details/79808511