在 C++中如何输出n个随机数?

在OI赛制中,我们无法知道其他测试点是什么

也就不知道程序是否100

所以我们就可以编写一个生成随机生成数的工具

自己创造测试点

 

@[TOC](输出随机数)
# 随机这个词
随机:random

        adj.
        随机的,随意的(非事先决定或不规则)
        n.
        随意

所以在c++中随即函数是rand,合理,非常合理
# rand()

1.需要的头文件:

#include 
#include 

我也不知道具体是哪个就都调用吧(doge

2.使用

rand函数就像int类型的函数一样,有返回值

所以可以这样处理:

注:想生成n以内的随机数需取余n(看代码

printf("%d",rand()%n)


# 种子srand()

# include 
# include 
# include 
int main(){
    cout<

上面这个程序调用无数遍输出也是一样的

所以 

如果只用rand()每次输出的会都一样(气

所以就要用到这个srand()了

为什么rand前面要加个s?

(以下为个人理解

因为seed是种子的意思

srand就是弄个种子

所以前面的s是seed的意思(盲猜

言归正传

srand可以让每次输出都不一样

可怎么用呢??

1.头文件

只要把前面那两个头文件都调用就不用担心了

#include 
#include 

2.使用 

在rand前使用

如下:

//仅主函数
srand((int)time(0))//这里的0换成NULL也彳亍
//srand((int)time(NULL))

# 成果

#include 
#include 
#include 
using namespace std;
int main(){
	int n;
	cin>>n; 
    srand((int)time(NULL));
    for (int i=0;i

此程序运行结果:

第一次运行:

 

 第二次运行:

有效解决了rand结果相同的问题

完结撒花!!

制作不易,点个免费的赞吧

你可能感兴趣的:(c++,c++)