比特鹏哥4-随机数的生成【自用笔记】

比特鹏哥4-数组【自用笔记】

随机数的生成

1.Rand

语句结构
c 复制代码
# include <stdlib.h>   //头文件
int rand(void)

注:rand生成的随机数是伪随机数,rand对应的"种子"的基准值都是1

2. srand

语句结构
c 复制代码
void  srand(unsigned  int seed)

注:此时的seed是可以变化的, 那么随之对应的随机数序列也就发生变化。

3.time

语句结构

在程序中我们一般是使用程序运行的时间作为种子的,

在C语言中有一个函数叫 time ,就可以获得这个时间。

c 复制代码
#include<time.h>//头文件
 time_t  time (time_t*  timer);
复制代码
time 函数会返回当前的日历时间,
返回的是1970年1月1日0时0分0秒到现在程序运行时间之间的差值,单位是秒。

返回的类型是time_t类型的,
time_t类型本质上其实就是32位或者64位的整型类型。

4.设置随机数的范围

设置0~99之间的随机数
c 复制代码
rand()%100
设置1~100之间的随机数
c 复制代码
rand()%100+1;//%100的余数是0~99,0~99的数字+1,范围是1~100
设置100~200之间的随机数
c 复制代码
 100 + rand()%(200-100+1)
设置a~b之间的随机数
c 复制代码
a+ rand()%(b-a+1)

实际问题:猜数字游戏实现

c 复制代码
1.生成1~100内的随机数
#include<stdlib.h>
#include <time.h>


srand((unsigned int)time(NULL));
int r= rand() % 100 + 1;
2.猜数字



#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
#include <time.h>



void  meau() 
{
	printf("**************************\n");
	printf("***********1.play*********\n");
	printf("***********0.exit*********\n");
	printf("**************************\n");
}
void game() {
	//1.生成随机数
	
	int r= rand() % 100 + 1;
	//2.猜数字
	int guess = 0;
	while (1) {

	printf("请猜数字:");
	if (guess > r)
		printf("猜大了!");
	else if (guess < r)
		printf("猜小了!");
	else
		printf("恭喜你,猜对了!");
	break;
	}
	}
int main() {

	int input = 0;
	srand((unsigned int)time(NULL));//随机数字只调用一次
	do
	{//打印菜单
		meau();
		pritnf("请选择:>");
		scanf("%d", &input);
		switch (input) {
			case 1:	
				game();
				printf("猜数字游戏\n");
				break;
		 	case 0:  
				printf("退出游戏\n");
				break;
			default:
				printf("选择错误,重新选择\n");
				break;

		}
	} while (input);

	return 0;



}
相关推荐
荆棘鸟智能5 分钟前
短历时洪水预报算法实践:水文模型与 LightGBM 残差订正融合
人工智能·算法·机器人
等我调个Bug10 分钟前
C++智能指针通俗讲解
开发语言·c++
承渊政道19 分钟前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
andrsted20 分钟前
练题簿免费刷题小程序:和学习搭子共用一份题库,一起刷题复习
学习·面试·微信小程序·小程序·学习方法·刷题
黑化旺仔27 分钟前
【OC】Runtime:类元数据、加载初始化与消息派发
开发语言·macos·ios·objective-c
Felven34 分钟前
B. Collecting Game
c语言
Felven35 分钟前
C. Removing Smallest Multiples
c语言·开发语言
云和数据.ChenGuang1 小时前
光哥说Python 循环导入(Circular Import)深度解析:成因、排查与解决方案
开发语言·前端·人工智能·python·langchain
葫三生1 小时前
关于三生原理系列被技术开发社区批量收录或引发策展边界讨论的一种思考
大数据·人工智能·深度学习·算法·机器学习·数据挖掘·开源
catcatuncle1 小时前
OpenWorkBuddy 部署排错手册:从源码启动到自己搭一个给团队用,七个最容易卡住的地方
算法