在一段数组中,如何生成不同的随机数 c语言为例
时间: 2024-09-28 07:17:09 浏览: 29
在C语言中,为了在一个数组中生成不同的随机数,你可以结合数组的索引和随机数生成函数`rand()`。这里有一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 包含 rand 和 srand 函数
#include <time.h> // 包含 time 函数用于种子初始化
#define ARRAY_SIZE 10 // 定义数组大小
int arr[ARRAY_SIZE]; // 创建一个整型数组
// 为了每次运行程序时生成不同的随机数,我们需要设置一个全局随机数种子
srand(time(0)); // 使用当前时间作为随机种子
void generate_random_array() {
int i;
for (i = 0; i < ARRAY_SIZE; i++) {
// 将随机数限制在数组下标范围内
arr[i] = rand() % (ARRAY_SIZE + 1); // 避免arr[i]为0的情况
}
}
int main() {
generate_random_array(); // 生成随机数并存储到数组中
for (int i = 0; i < ARRAY_SIZE; i++) {
printf("arr[%d]: %d\n", i, arr[i]);
}
return 0;
}
相关问题
在C语言中生成16个8bits的随机数,存在数组里
好的,可以使用C语言的rand函数来生成随机数,并将其存储到数组中。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 设置随机数种子
srand(time(NULL));
// 定义存储随机数的数组
unsigned char arr[16];
// 生成16个随机数并存储到数组中
for (int i = 0; i < 16; i++) {
arr[i] = (unsigned char)(rand() % 256);
printf("%d ", arr[i]); // 输出每个随机数的十进制形式
}
return 0;
}
```
这段代码中,使用srand函数设置随机数种子,保证每次运行程序生成的随机数都不一样。然后使用rand函数生成随机数,并将其强制转换为unsigned char类型,存储到数组中。最后使用printf函数输出每个随机数的十进制形式。
c语言,生成一段随机数,并对其进行排序
以下是C语言代码,生成一段随机数,并对其进行排序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 10
int main() {
int arr[SIZE];
int i, j, temp;
srand(time(NULL)); // 设置随机数种子
// 生成随机数
for (i = 0; i < SIZE; i++) {
arr[i] = rand() % 100; // 生成 0~99 的随机数
}
// 输出随机数
printf("原始随机数:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
// 冒泡排序
for (i = 0; i < SIZE - 1; i++) {
for (j = 0; j < SIZE - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的结果
printf("\n排序后的结果:\n");
for (i = 0; i < SIZE; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
此代码首先使用`srand()`函数设置随机数种子,然后使用`rand()`函数生成0~99之间的随机数,存储在数组`arr`中。接着使用冒泡排序对数组进行排序,最后输出排序后的结果。
阅读全文