C++ 使用for循环和rand生成100个随机数,并打印出最小值和最大值
使用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 <
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;
}
如果(r cout您的代码不会做任何事情,因为您正在比较相同的变量
您需要设置一个列表或数组来排序,然后比较元素,相应地重新排列,然后遍历列表并按顺序显示
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=兰德();
如果(x 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=兰德();
如果(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");
}