c语言怎么随机生成一个二维数组
时间: 2024-09-16 12:04:15 浏览: 111
在C语言中,生成一个二维数组通常需要先确定数组的行数和列数,然后为每个元素分配内存。这里可以使用`rand()`函数配合`srand()`设置随机种子来自动生成随机值。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要用到时间库
#define ROWS 5
#define COLS 10
// 设置随机数种子,保证每次程序运行结果一致(若要每次运行都不同,可省略这一步)
srand(time(0));
// 定义二维数组并初始化为随机数
int main() {
int arr[ROWS][COLS]; // 声明一个大小为ROWS x COLS的二维数组
for (int i = 0; i < ROWS; i++) { // 遍历每一行
for (int j = 0; j < COLS; j++) { // 遍历每一列
arr[i][j] = rand() % 100; // 生成0~99之间的随机整数
printf("%d ", arr[i][j]); // 打印当前元素值
}
printf("\n"); // 每一行结束后换行
}
return 0;
}
```
相关问题
c语言随机生成二维数组
在 C 语言中,可以使用 `rand()` 函数生成随机数,然后将随机数赋值给二维数组的每个元素。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, j;
int rows = 3, cols = 4;
int arr[rows][cols];
// 设置随机数种子
srand((unsigned int)time(NULL));
// 生成随机数并赋值给二维数组
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
arr[i][j] = rand() % 100; // 生成0-99的随机数
}
}
// 输出二维数组
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,我们使用 `srand()` 函数将当前时间作为随机数种子,然后使用 `rand() % 100` 生成 0-99 的随机数,并将其赋值给二维数组的每个元素。最后,我们输出二维数组的所有元素。
用C语言创建一个double二维数组,使它的每个元素都是一个0~1之间的随机小数,创建后,请将这个二维数组排序。
这题需要使用C库函数,可以使用rand()函数生成随机数,并使用srand()函数设置随机数种子。接下来使用二重循环,逐个生成随机小数,使用qsort()函数对数组进行排序。下面是代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROW 5
#define COL 5
int cmp(const void *a, const void *b)
{
double x = *((double *)a);
double y = *((double *)b);
if (x < y) return -1;
else if (x > y) return 1;
else return 0;
}
int main()
{
double arr[ROW][COL];
int i, j;
srand(time(NULL));
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
arr[i][j] = (double)rand() / RAND_MAX;
printf("%lf ", arr[i][j]);
}
printf("\n");
}
printf("\n");
for (i = 0; i < ROW; i++) {
qsort(arr[i], COL, sizeof(double), cmp);
}
for (i = 0; i < ROW; i++) {
for (j = 0; j < COL; j++) {
printf("%lf ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
该程序使用srand()函数设置随机数种子。接下来使用二重循环生成随机小数,并输出到屏幕上。随后使用qsort()函数对二维数组的每一行进行排序,最后将排好序的二维数组输出到屏幕上。
阅读全文
相关推荐
















