概述
一、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函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复