我是靠谱客的博主 听话帽子,最近开发中收集的这篇文章主要介绍随机生成函数rand与srand函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、rand函数

在需要用到随机生成函数时,我们第一想到的也是rand函数

那么这个函数的基本用法是什么呢?

首先,使用rand函数需要用到头文件#include<stdlib.h>

接下来讲一下基础用法

举个栗子,比如说我们在1~100想要随机生成十个数并且将他们排序后输出,那么该怎么办呢?

int t, data[10];
	for (int i = 0; i < 10; i++)
		data[i] = rand() % 100+1; 

rand()%后面所接的数字减一就是随机生成的最大数字,就像这里,rand()%100表示的是在0~99中随机生成一个数字,所以我们在其后加上1生成范围就是1~100了

不过呢,如果有细心的小伙伴会发现,为啥每次生成的好像都是同一个数,不是说随机吗?that's why? 其实,rand函数说是随机但并不是真正意义上的随机

那么接下来我们的主角就要出场了

二、srand函数

与rand函数一样,使用时需要也需要头文件#include<stdlib.h>

那么我们现在解释一下为什么rand函数生成的数字不变

其实,在每次用到rand函数时都会有一个随机数种子,而rand函数的随机数种子一旦生成,他自己是无法再改变的,那么有人就不服了,嘿,我还就要改变,好,那么rand的大哥大srand就出现了,换句话说,srand的意义就在于改变rand的随机数种子,使他每次生成的数字不同,那么接下来,真正意义的随机生成他就要来啦

#include<iostream>
#include<stdlib.h>
#include<ctime>
using namespace std;
int main() {
	int t, data[10];
	srand(time(0));
	for (int i = 0; i < 10; i++){
		data[i] = rand() % 100+1; //随机生成1~100之间的数
	}
		
	for (int i = 0; i < 9; i++) {
		for (int j = 0; j < 9 - i; j++) {
			if (data[j] < data[j + 1]) {
				t = data[j + 1];
				data[j + 1] = data[j];
				data[j] = t;
			}
		}
	}
	for (int i = 0; i < 10; i++)
		cout << data[i] << endl;
	system("pause");
	return 0;
}

最后

以上就是听话帽子为你收集整理的随机生成函数rand与srand函数的全部内容,希望文章能够帮你解决随机生成函数rand与srand函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部