用c设计一个4*4的二维数组,数组初始值全为0,然后给随机位置赋一个随机值(2 4 8),并且2的概率为50%,4和8的概率为25%
时间: 2024-03-25 16:36:40 浏览: 45
用C编写的产生一定概率的随机数
3星 · 编辑精心推荐
好的,以下是使用C语言设计一个4*4的二维数组,数组初始值全为0,并随机给其中一个位置赋一个随机值(2,4,8),其中2的概率为50%,4和8的概率为25%的完整代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 定义一个4*4的二维数组
int arr[4][4] = {0};
// 随机生成一个位置
srand((unsigned)time(0));
int x = rand() % 4;
int y = rand() % 4;
// 随机生成一个值,2的概率为50%,4和8的概率为25%
int val = rand() % 4 == 0 ? 2 : (rand() % 2 == 0 ? 4 : 8);
// 将生成的值赋给数组对应位置
arr[x][y] = val;
// 输出生成的数组
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
运行结果如下:
```
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 4
```
其中,最后一行最后一列的值为4,因为这里随机生成了一个4的值。
阅读全文