c语言生成随机数并存入数组
时间: 2023-08-24 19:32:33 浏览: 138
可以使用C语言的rand()函数生成随机数,再将其存入数组中。具体实现步骤如下:
1. 使用srand()函数来初始化随机数种子,可以使用time()函数获取当前时间作为种子,确保每次生成的随机数不同。
2. 使用rand()函数生成随机数,并将其存入数组中,可以使用循环语句来重复执行生成随机数和存入数组的操作。
下面是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, n;
int arr[10];
// 初始化随机数种子
srand(time(NULL));
// 生成随机数并存入数组
for (i = 0; i < 10; i++) {
arr[i] = rand();
}
// 输出数组中的随机数
for (i = 0; i < 10; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
```
注意:生成的随机数是伪随机数,其结果是可预测的,如果需要更高强度的随机数,可以使用其他的随机数生成算法。
相关问题
c语言生成随机数并存入数组,然后进行选择排序,再进行二分查找
下面是生成随机数、进行选择排序、进行二分查找的完整代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void selection_sort(int arr[], int n);
int binary_search(int arr[], int n, int x);
int main()
{
int i, n, x, result;
int arr[10];
// 初始化随机数种子
srand(time(NULL));
// 生成随机数并存入数组
for (i = 0; i < 10; i++) {
arr[i] = rand() % 100; // 生成 0~99 的随机数
}
// 输出未排序的随机数数组
printf("Original array:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 进行选择排序
selection_sort(arr, 10);
// 输出排序后的数组
printf("Sorted array:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 进行二分查找
printf("Enter the value to search: ");
scanf("%d", &x);
result = binary_search(arr, 10, x);
if (result == -1) {
printf("Value not found.\n");
} else {
printf("Value found at index %d.\n", result);
}
return 0;
}
// 选择排序函数
void selection_sort(int arr[], int n)
{
int i, j, min_idx, temp;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
// Swap the minimum element with the first element
temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
// 二分查找函数
int binary_search(int arr[], int n, int x)
{
int left = 0, right = n-1, mid;
while (left <= right) {
mid = (left + right) / 2;
if (arr[mid] == x) {
return mid;
} else if (arr[mid] < x) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
```
代码中,首先生成了 10 个 0~99 的随机数,然后进行选择排序,最后使用二分查找函数查找指定的值。注意,在进行二分查找前,必须先对数组进行排序,否则二分查找无法正常工作。
c语言生成随机数存入数组
要在 C 语言中生成随机数并将其存入数组中,可以使用 `rand()` 函数和 `srand()` 函数。`rand()` 函数生成一个范围在 0 到 RAND_MAX(通常是 32767)之间的随机整数。使用 `srand()` 函数可以设置随机数生成器的种子,以便每次程序运行时生成不同的随机数序列。
以下是一个示例程序,它生成一个包含 10 个随机整数的数组:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 10
int main() {
int nums[ARRAY_SIZE];
int i;
srand(time(NULL)); // 初始化随机数生成器
// 生成随机数并存入数组中
for (i = 0; i < ARRAY_SIZE; i++) {
nums[i] = rand();
}
// 输出数组中的随机数
printf("随机数数组:\n");
for (i = 0; i < ARRAY_SIZE; i++) {
printf("%d\n", nums[i]);
}
return 0;
}
```
在上面的示例代码中,我们使用 `srand(time(NULL))` 初始化随机数生成器,这将使用当前时间作为种子。这意味着每次程序运行时都会产生不同的随机数序列。然后,我们使用 `rand()` 函数生成随机数,并将它们存储在数组 `nums` 中。最后,我们使用循环遍历数组,并使用 `printf()` 函数输出每个随机数。
阅读全文