C++ 使用for循环和rand生成100个随机数,并打印出最小值和最大值

C++ 使用for循环和rand生成100个随机数,并打印出最小值和最大值,c++,random,C++,Random,使用for循环和rand生成100个随机数,并打印出最小值和最大值。如果我朝着正确的方向前进,有什么指引吗 int main() { int x = rand(); for( x = 0; x < 100; x++) { if( x < x ) { cout << "Small numbers: " << endl; cout << x <

使用for循环和rand生成100个随机数,并打印出最小值和最大值。如果我朝着正确的方向前进,有什么指引吗

int main()
{
    int x = rand();
    for( x = 0; x < 100; x++)
    {
        if( x < x )
        {
            cout << "Small numbers: " << endl;
            cout << x << endl;
        }
        if ( x > x )
        {
            cout << "Big numbers: " << endl;
            cout << x << endl;
        }
    }
    system("pause");
}
intmain()
{
int x=rand();
对于(x=0;x<100;x++)
{
if(x
您可以执行以下操作:

int main()
{
    //set up seed
    srand(time(NULL));

    double min = 1000; //you can also use numeric limits
    double max = -1000;
    for (int i = 0; i < 100; ++i)
    {
       double r = rand(); //you can also generate rand in given range
       if (r > max)
       {
          max = r;
       }
       if (r < min)
       {
          min = r;
       }
    }
    cout << min  << " " << max <<endl;
    cin.get(); //don't use system pause
}
intmain()
{
//播种
srand(时间(空));
double min=1000;//还可以使用数字限制
双倍最大值=-1000;
对于(int i=0;i<100;++i)
{
double r=rand();//您还可以在给定范围内生成rand
如果(r>最大值)
{
max=r;
}
如果(r
您可以执行以下操作:

int main()
{
    //set up seed
    srand(time(NULL));

    double min = 1000; //you can also use numeric limits
    double max = -1000;
    for (int i = 0; i < 100; ++i)
    {
       double r = rand(); //you can also generate rand in given range
       if (r > max)
       {
          max = r;
       }
       if (r < min)
       {
          min = r;
       }
    }
    cout << min  << " " << max <<endl;
    cin.get(); //don't use system pause
}
intmain()
{
//播种
srand(时间(空));
double min=1000;//还可以使用数字限制
双倍最大值=-1000;
对于(int i=0;i<100;++i)
{
double r=rand();//您还可以在给定范围内生成rand
如果(r>最大值)
{
max=r;
}
如果(rcout您的代码不会做任何事情,因为您正在比较相同的变量

您需要设置一个列表或数组来排序,然后比较元素,相应地重新排列,然后遍历列表并按顺序显示

C++标准库有助于此过程:


您的代码不会做任何事情,因为您正在比较同一个变量

您需要设置一个列表或数组来排序,然后比较元素,相应地重新排列,然后遍历列表并按顺序显示

C++标准库有助于此过程:

#包括
#包括
使用名称空间std;
int main()
{
最小整数=最大整数;
int最大=0;
对于(int x=0;x<100;x++)
{
int randomNumber=rand()%100+1;
不能包含
#包括
使用名称空间std;
int main()
{
最小整数=最大整数;
int最大=0;
对于(int x=0;x<100;x++)
{
int randomNumber=rand()%100+1;

cout第一件事是,每次通过循环时都必须生成新的随机整数,所以您需要这样的结果:

#include <iostream>
#include <cstdlib>
#include <limits>


using namespace std;


int main()
{

int x = rand();
int min=RAND_MAX;
int max=0;

for( int i = 0; i < 100; i++)
{
    x = rand();

    if( x < min )
    {
        cout << "Small numbers: " << endl;
        cout << x << endl;
        min=x;
    }

    if ( x > max )
    {
        cout << "Big numbers: " << endl;
        cout << x << endl;
        max=x;
    }
}


system("pause");

 }
#包括
#包括
#包括
使用名称空间std;
int main()
{
int x=rand();
int min=RAND_MAX;
int max=0;
对于(int i=0;i<100;i++)
{
x=兰德();
如果(xcout第一件事是,每次通过循环时都必须生成新的随机整数,所以您需要这样的结果:

#include <iostream>
#include <cstdlib>
#include <limits>


using namespace std;


int main()
{

int x = rand();
int min=RAND_MAX;
int max=0;

for( int i = 0; i < 100; i++)
{
    x = rand();

    if( x < min )
    {
        cout << "Small numbers: " << endl;
        cout << x << endl;
        min=x;
    }

    if ( x > max )
    {
        cout << "Big numbers: " << endl;
        cout << x << endl;
        max=x;
    }
}


system("pause");

 }
#包括
#包括
#包括
使用名称空间std;
int main()
{
int x=rand();
int min=RAND_MAX;
int max=0;
对于(int i=0;i<100;i++)
{
x=兰德();
如果(x
嗯,你真的需要不止一个变量。你想保存当前卷、最大卷、最低卷以及你已经做过的卷数。试着找出你需要做的事情。不要给变量命名
x
,给它们起个有意义的名字,比如
currentNumber
最低值
。想象一下你是这样的在现实生活中掷骰子,有一张纸,你可以在上面写下和更新到目前为止看到的最低和最高数字。然后想想如何将其转化为你的代码。既然家庭作业标签不见了,我们该怎么办?我明白你们在说些什么,感谢你们的帮助。嗯,你真的需要不止一个变量。您希望保存当前卷、最大卷、最低卷以及已完成的卷数。请尝试找出您需要执行的操作。不要命名变量
x
,请给它们指定有意义的名称,如
currentNumber
lowerstvalue
。想象您在现实生活中掷骰子,并且有一张纸n你可以编写和更新到目前为止看到的最低和最高数字。然后思考如何将其转化为你的代码。现在家庭作业标签消失了,我们该怎么办?我知道你们在说什么了。感谢帮助。“你应该先生成100个随机数并存储它们,然后找到最小和最大的。”根本不需要额外的空间。@Zeta我同意。因为OP似乎没有足够的编程经验,所以我尽量简单。所以,我的目的是先正确,然后优化。存储100个数字并不简单。@Fredrarson我最好删除这句话。谢谢。
rand()
返回范围
[0,RAND_MAX]
。没有截断将结果存储在int中,也没有特别的理由使用
双精度
。“您应该首先生成100个随机数并存储它们,然后找到最小和最大的。”根本不需要额外的空间。@Zeta我同意。因为OP似乎没有足够的编程经验,所以我尽量简单。所以,我的目的是先正确,然后优化。存储100个数字并不简单。@Fredrarson我最好删除这句话。谢谢。
rand()
返回范围
[0,RAND_MAX]
。没有将结果存储在int中的截断,也没有使用
双精度
的特殊原因。请修复缩进!这是错误的!您正在比较循环索引和最大/最小值吗?抱歉,这是一个打字错误!请修复缩进!这是错误的!您正在比较循环索引和最大/最小值吗哦,那是个输入错误!是的,那会起作用,但对于这个任务来说,这完全是多余的。你需要跟踪的是迄今为止看到的最大值和最小值。是的,这会起作用,但对于这个任务来说,这完全是多余的。你需要跟踪的是迄今为止看到的最大值和最小值。使用
x#include <iostream>
#include <cstdlib>
#include <limits>


using namespace std;


int main()
{

int x = rand();
int min=RAND_MAX;
int max=0;

for( int i = 0; i < 100; i++)
{
    x = rand();

    if( x < min )
    {
        cout << "Small numbers: " << endl;
        cout << x << endl;
        min=x;
    }

    if ( x > max )
    {
        cout << "Big numbers: " << endl;
        cout << x << endl;
        max=x;
    }
}


system("pause");

 }