C++:随机数列表:x 个随机整数
C++: Random Number lists: x number of random integers
我正在尝试编写一个生成和输出x随机整数num的程序 - 尚未使用数组或更高级别的C++(我在循环中,例如while,for等(
num 是介于 20 到 50 之间的随机数,x 是介于 10 到 15 之间的随机数。
我还想计算并显示这些数字的最小、最大、总和和平均值。我希望我的样本测试输出 X 个随机整数(在样本运行失败的情况下,它应该是 12 个随机整数(。
如何确保它显示所有 x 整数,并且它在此列表中显示的每个整数都是随机且唯一的,而不是重复相同的随机数(在底部失败的示例运行中,这个整数是 37,但我希望它是 12 个不同的唯一数字(?
/*
OUTPUT SHOULD BE:
Generating 11 random numbers (11 is a random number between 10 to 15)...
...11 Random Numbers between 20 to 50: 26, 23, 48, 32, 44, 21, 32, 20, 49, 48, 34
Largest = 49
Smallest = 21
Sum = 377
Average = 377 / 11 = 34.3
*/
#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
int main(void)
{
srand(time(NULL));
{
while (true){
int sum = 0;
int x = 10+rand()%6;
int denom = x+1;
int num = 20+rand()%31;
int largest;
int smallest;
cout<<"Generating " << x << " random numbers (" << x << " is between 10 and 15)... n";
cout << "..." << x << " Random Numbers between 20 to 50: ";
cout << num << endl;
while(x >= 0)
{
largest = num;
smallest = num;
sum = sum + num;
x--;
}
int average = sum / denom;
cout << "Largest = " << largest << endl;
cout << "Smallest = " << smallest << endl;
cout << "Sum = " << sum << endl;
cout << "Average = " << average << endl;
break;
}
return 0;
}
}
/*
SAMPLE RUNS
==========
Generating 12 random numbers (12 is between 10 and 15)...
...12 Random Numbers between 20 to 50: 37
Largest = 37
Smallest = 37
Sum = 481
Average = 37
Process returned 0 (0x0) execution time : 0.159 s
Press any key to continue.
*/
只使用一个循环。应在此循环中生成随机数num
。
它应该是while (x > 0){... x--;}
,例如,如果x == 1
那么循环运行一次。您还可以使用更容易理解的for
循环。
denom
只是保存x
的值。因此它应该是x
的,而不是x+1
应在循环开始之前初始化largest
和smallest
的值。然后,您必须测试这些值。
我用零来初始化largest
,用一个非常大的值来初始化smallest
RAND_MAX
。
int main()
{
srand((unsigned int)time(NULL));
int largest = 0;
int smallest = RAND_MAX;
int sum = 0;
int x = 10 + rand() % 6;
int denom = x;
cout << "x = " << x << endl;
while (x > 0)
{
int num = 20 + rand() % 31;
cout << "num = " << num << endl;
if(num > largest)
largest = num;
if(num < smallest)
smallest = num;
sum += num;
x--;
}
cout << "Largest = " << largest << endl;
cout << "Smallest = " << smallest << endl;
cout << "Sum = " << sum << endl;
cout << "Average = " << sum / denom << endl;
return 0;
}
相关文章:
- 生成线性随机整数C++
- 如何生成 0 到 0x7FFFFFFF 的随机整数?
- 生成随机整数
- C++:随机数列表:x 个随机整数
- 列出小于 10 的不同随机整数
- 在 c++ 中生成随机整数
- 随机整数仍在生成低于或高于范围的数字?
- C++,为什么我不能使用两个默认随机引擎生成独立的随机整数样本
- 在 C++ 中使用 10 个随机整数的数组进行气泡排序不起作用
- C++ 如何生成 10,000 个 UNIQUE 随机整数以存储在 BST 中?
- 如何将唯一的随机整数插入链表中
- 伪随机整数
- 将随机整数写入文本文件而不重复
- 编写一个程序,该程序在0-99范围内生成10000个随机整数,并从随机数据中产生直方图
- 尝试创建随机整数向量时的OpenMPI编译器错误
- 防止随机整数不断被重新分配
- 除法函数随机整数需要打印出商和余数
- 如何生成升序随机整数列表
- 需要在指定范围内生成一个随机整数
- 对随机整数的未定义引用