c++随机数生成三位数并保存在数组中
时间: 2023-05-02 13:06:40 浏览: 190
c语言中生成随机数有两个函数可以使用,一个是rand()函数,一个是srand()函数。这里先使用srand()函数设置随机数种子,使生成的随机数更加随机。
srand()函数的参数一般使用time(NULL)函数生成当前时间的秒数作为参数,保证每次运行生成的随机数不同。
然后使用rand()%900+100生成3位数的随机数,并将其保存在数组中。
完整代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int num[3];
int i;
srand((unsigned)time(NULL)); //设置随机数种子
for(i=0; i<3; i++)
{
num[i] = rand()%900+100; //生成3位数的随机数
}
//输出数组中的随机数
for(i=0; i<3; i++)
{
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
```
运行结果如下:
173 567 286
其中,生成的随机数是不固定的,每次运行的结果都是不同的。
相关问题
利用C++编写程序:用随机数产生一个五行五列的整数数组,每个元素均为三位数,输出该数组,计算该数组非对角线元素值的和
好的,我可以为您编写这个程序。以下是示例代码:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int ROWS = 5;
const int COLS = 5;
int main()
{
int arr[ROWS][COLS];
int sum = 0;
// 生成随机数种子
srand(time(nullptr));
// 初始化数组
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
arr[i][j] = rand() % 900 + 100; // 生成3位整数
}
}
// 输出数组
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
cout << arr[i][j] << " ";
}
cout << endl;
}
// 计算非对角线元素值的和
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
if (i != j && i + j != ROWS - 1) // 非对角线元素
{
sum += arr[i][j];
}
}
}
cout << "非对角线元素值的和为:" << sum << endl;
return 0;
}
```
程序首先生成一个 5 行 5 列的整数数组,并初始化为随机的 3 位整数。然后,程序输出该数组,计算非对角线元素值的和并输出。
使用c++在一个数组中选出三个随机数并在三个随机数中选出中间值作为pivot的代码
### 回答1:
使用 C 在一个数组中选出三个随机数并在三个随机数中选出中间值作为 pivot 的代码示例如下:int array[] = {1,2,3,4,5,6,7,8,9};int pivot;int low = 0;int high = sizeof(array) / sizeof(array[0]);int random_index_1 = rand() % (high - low + 1) + low;int random_index_2 = rand() % (high - low + 1) + low;int random_index_3 = rand() % (high - low + 1) + low;// sort the three random indexesif (array[random_index_1] > array[random_index_2]){int temp = random_index_1;random_index_1 = random_index_2;random_index_2 = temp;}if (array[random_index_2] > array[random_index_3]){int temp = random_index_2;random_index_2 = random_index_3;random_index_3 = temp;}// find the middle onepivot = array[random_index_2];
### 回答2:
使用C语言编写一个程序,从一个数组中随机选择三个数,并将三个数中的中间值作为pivot。
首先,我们需要包含C语言的头文件,并定义一个常量来表示数组的大小。假设数组为arr,其大小为n。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10
int main() {
int arr[SIZE];
// 初始化随机数种子
srand(time(0));
// 生成随机数组
for (int i = 0; i < SIZE; i++) {
arr[i] = rand() % 100; // 假设随机数的范围为 0 ~ 99
}
// 输出随机数组
printf("随机数组为:\n");
for (int i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 寻找三个随机数并计算中间值
int pivot;
int num1 = arr[rand() % SIZE];
int num2 = arr[rand() % SIZE];
int num3 = arr[rand() % SIZE];
if ((num1 >= num2 && num1 <= num3) || (num1 >= num3 && num1 <= num2)) {
pivot = num1;
} else if ((num2 >= num1 && num2 <= num3) || (num2 >= num3 && num2 <= num1)) {
pivot = num2;
} else {
pivot = num3;
}
printf("中间值为:%d\n", pivot);
return 0;
}
```
以上是一个简单的C语言程序,实现了从数组中选择三个随机数,并找出其中的中间值作为pivot。程序首先初始化随机数种子,然后生成一个大小为SIZE的随机数组,并输出随机数组。然后,程序通过随机选择三个数来得到pivot,通过比较这三个数的大小来找出其中的中间值。最后,程序输出中间值。注意,这里假设随机数的范围为0~99,可以根据实际需求进行修改。
### 回答3:
下面是使用C语言编写的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 交换两个元素的值
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 按照升序排列调整三个元素的顺序
void sortThree(int* arr) {
if (arr[0] > arr[1]) {
swap(&arr[0], &arr[1]);
}
if (arr[1] > arr[2]) {
swap(&arr[1], &arr[2]);
}
if (arr[0] > arr[1]) {
swap(&arr[0], &arr[1]);
}
}
// 从一个数组中选取三个随机数,并返回其中位数作为pivot
int selectPivot(int* arr, int length) {
int randomIndex1 = rand() % length;
int randomIndex2 = rand() % length;
int randomIndex3 = rand() % length;
int threeNumbers[3] = {arr[randomIndex1], arr[randomIndex2], arr[randomIndex3]};
sortThree(threeNumbers);
return threeNumbers[1];
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 假设有一个包含10个元素的数组
int length = sizeof(arr) / sizeof(arr[0]);
srand(time(NULL)); // 设置随机种子
int pivot = selectPivot(arr, length);
printf("中间值(pivot)为:%d\n", pivot);
return 0;
}
```
这段代码首先定义了一个`swap`函数,用于交换两个元素的值。然后定义了`sortThree`函数,用于将三个元素按照升序排列。接着定义了`selectPivot`函数,该函数从给定的数组中随机选择三个元素,然后将这三个元素排序,并返回中间的元素作为pivot。最后在`main`函数中,定义了一个包含10个元素的数组,并调用`selectPivot`函数选择中间值作为pivot,并输出结果。
阅读全文