首页 > 其他分享 >猜数字游戏

猜数字游戏

时间:2024-09-16 15:48:42浏览次数:11  
标签:rand 游戏 int 函数 srand printf include 数字

游戏要求

1.随机生成一个1-100之间的随机数

2.玩家猜数,如果不对则给出提示范围,直到正确为止。

函数准备

rand()函数

函数功能:随机生成一个1-32767之间的伪随机数。

int rand ();

使用rand()函数之前,需要引入库函数<stdlib.h>。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
	printf("%d", rand());
	return 0;
}

1.由于rand()函数是根据它的种子来生成随机数

2.而它的种子默认值为1

3.所以直接使用时产生的是伪随机数,可以预测。

srand()函数

srand ((unsigned int)n);

1.程序中在调⽤ rand ()函数之前先调⽤ srand() 函数

2.通过 srand() 函数的参数n,来设置rand()函数⽣成随机数的时候的种子

3.只要参数n在变化,rand ()函数的种子就在变化,每次⽣成的随机数序列也就变化起来了。

4.srand()函数是不需要频繁调⽤的,⼀次运⾏的程序中调⽤⼀次就够了。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
	srand(1);
	printf("%d", rand());
	return 0;
}

 但此时又需要给srand()函数的参数n一个随机值。

time()函数

函数功能:使⽤程序运⾏的时间作为种子(因为时间时刻在发⽣变化)

使用time()函数的时候需要包含头⽂件:<time.h>。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
	srand((unsigned int)time(NULL));
	printf("%d", rand());
	return 0;
}

优化范围

1.生成0-99之间随机数

rand()%100

2.生成1-100之间随机数

rand()%100+1

 3.生成a-b之间的随机数

a+rand()%(b-a+1)

代码实现

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
void make_menu()
{
	printf("**欢迎来到猜数游戏**\n");
	printf("********************\n");
	printf("*******0.EXIT*******\n");
	printf("*******1.PLAY*******\n");
	printf("********************\n");
	return;
}
void game()
{
	int a = 0;
	int num=rand()%100+1;
	int chance = N;
	printf("已生成一个1-100的随机数\n");
	do
	{
		printf("你还有%d次机会\n",chance);
		printf("请输入你要猜的数:\n");
		scanf("%d", &a);
		if (a > num)
		{
			printf("猜大了\n");
		}
		else if (a < num)
		{
			printf("猜小了\n");
		}
		else if (a = num)
		{
			printf("恭喜,猜对了\n");
		}
	} while (--chance);
	if (chance == 0)
		printf("很遗憾,你的机会已经用完,游戏失败\n");
}
int main()
{
	srand((unsigned int)time(NULL));
	int input = 0;
	do
	{
		make_menu();
		scanf("%d", &input);
		switch (input)
		{
		case 0:
			printf("退出游戏!\n");
			break;
		case 1:
			printf("进入游戏!\n");
			game();
			break;
		default:
			printf("输入错误,请重新输入!\n");
			break;
		}
	} while (input);
	return 0;
}

标签:rand,游戏,int,函数,srand,printf,include,数字
From: https://blog.csdn.net/hsy1603914691/article/details/142302049

相关文章

  • 《黑神话:悟空》游戏突发崩溃:AkFlanger.dll 文件错误如何处理?
    AkFlanger.dll文件错误的原因可以归结为多个方面,这些原因可能单独或共同作用导致文件丢失、损坏或无法被系统正确加载。以下是对AkFlanger.dll文件错误原因的分析:文件被误删除或移动:用户可能在清理系统垃圾文件、卸载软件或进行磁盘整理时不小心删除了AkFlanger.dll文件......
  • 贪吃蛇游戏开发 scratch 20240916_140728
    项目名称贪吃蛇规则只要吃食物就会变长碰到边界就死亡碰到自己的尾巴就会死亡角色贪吃蛇食物障碍物关于图像图像分为矢量图与位图矢量图可以无限放大位图放大后会模糊绘制蛇头要求:使用一个圆形来画蛇头圆形有边框蛇头有两个眼睛蛇头有一根红蛇头使用矢量图来绘......
  • 技嘉RTX 4070 SUPER WUKONG OC显卡评测:天命人最佳2K游戏搭档 温度仅61℃
    一、前言:技嘉推出《黑神话:悟空》联名显卡专为2K游戏而生《黑神话:悟空》无论是画面、配乐,还是剧情、打斗感,都达到了国际3A的高水准,即便发售一个月了,在全网拥有不小的热度。由于采用了虚幻引擎5,以及全分辨率多次弹射光追间接照明、全分辨率光追反射、光追粒子反射、光追焦散、光......
  • 跨界融合,GIS如何赋能游戏商业——以《黑神话:悟空》为例
    在数字化时代,地理信息系统(GIS)技术正以其独特的空间分析和可视化能力,为游戏产业带来革命性的变革。《黑神话:悟空》作为中国首款3A级别的动作角色扮演游戏,不仅在游戏设计和技术上取得了突破,更在商业模式上展现了跨界融合的新路径。 1.GIS技术在游戏设计中的应......
  • 【洛谷 P1216】[USACO1.5] [IOI1994]数字三角形 Number Triangles 题解(动态规划)
    [USACO1.5][IOI1994]数字三角形NumberTriangles题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。在上面的样例中,从的路径产生了最大权值。输入格式第一个行一个正整数......
  • 力扣136.只出现一次的数字
    题目描述:给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。解题思路:看到数组刚开始想的是排序后遍历,但是时间复杂度太高了......
  • 鹏哥C语言39---分支/循环语句练习:猜数字游戏
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>//voidfun(inta[]) //因为传过来的是地址,所以应该用一个指针变量来接收,故这里的a本质上是个指针变量//{//   printf("%zu",sizeof(a));//输出8 在x64下,指针大小是......
  • P2602 [ZJOI2010] 数字计数 题解
    数位dp的板子题?显然\([a,b]\)等价于\([0,b]-[0,a]\)。考虑\(dp_{i,j}\)表示到第\(i\)位数字\(j\)的答案。先不考虑数字大小限制(即1到999之类),则显然有\(dp_{i,j}=dp_{i-1,j}\times10+10^{i-1}。当前数字是0时则减去10^{i-1},再减去1。\)所以我们可以预处理出\(dp\),来表示后面......
  • 【题解】—— [NOIP2011 普及组] 数字反转
    【题解】——[NOIP2011普及组]数字反转[NOIP2011普及组]数字反转题目描述输入格式输出格式输入输出样例输入#1输出#1输入#2输出#2提示1.思路解析2.AC代码[NOIP2011普及组]数字反转通往洛谷的传送门题目描述给定一个整数......
  • Python制作一个中秋赏月的拼图小游戏
    中秋节是中国四大传统节日之一,主要活动包括赏月、吃月饼、玩花灯、赏桂花、饮桂花酒等。给大家分享用Python制作的一个中秋的拼图小游戏模块安装pipinstallpygame实例代码importpygame,sys,randomfrompygame.localsimport*#一些常量#WINDOW_WIDTH=30#WIND......