C++生成指定范围内随机数封装

  • 需求:比如生成min到max区域内的随机数
  • 需要用到的库
#include <stdio.h>
#include <tchar.h>
#include <iostream>
#include <time.h> 
  • 实现的方法封装
//@brief:产生[min_val,max_val]范围内的随机数
//@param:min_val:最小值
//@param:max_val:最大值
//@return:生成的随机数
int randNum(int min_val,int max_val)
{
	//判断前检查 min_val 和 max_val的值大小对比
	if (min_val > max_val)
	{
		cout << "不符合要求,min_val必须小等于max_val的值。" << endl;
		return 0;
	}
	//
		int num_val = rand()%(max_val-min_val+1) + min_val;
		return num_val;
}
  • 备注:需要先调用srand((unsigned int)(time(NULL)));

  • 原因:因为C++本质上是没有随机数功能,这是为了根据时间生成随机值,保证随机性

  • 实例测试

// RandomNum.cpp : 定义控制台应用程序的入口点。
//需求:明明的随机数

#include "stdafx.h"

using namespace std;

//@brief:产生[min_val,max_val]范围内的随机数
//@param:min_val:最小值
//@param:max_val:最大值
//@return:生成的随机数
int randNum(int min_val,int max_val)
{
	//判断前检查 min_val 和 max_val的值大小对比
	if (min_val > max_val)
	{
		cout << "不符合要求,min_val必须小等于max_val的值。" << endl;
		return 0;
	}
	//
		int num_val = rand()%(max_val-min_val+1) + min_val;
		return num_val;
}


int _tmain(int argc, _TCHAR* argv[])
{
	srand((unsigned int)(time(NULL))); //根据时间种子产生无规律的随机数
	int i = 0;
	//测试
	for (;i < 10 ; i++)
	{
		int num = randNum(1,100);
		cout << "生成随机数" << num << endl;
	}
	//cout << rand() << endl;
	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Music 爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值