C语言设计一个4*4的二维数组,数组初始值全为0,然后给随机位置赋一个随机值(2 4 8),并且2的概率为50%,4和8的概率为25%
时间: 2024-03-25 13:36:47 浏览: 13
好的,以下是一个使用 C 语言实现的设计4*4的二维数组,数组初始值全为0,然后给随机位置赋一个随机值(2 4 8),并且2的概率为50%,4和8的概率为25%的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int arr[4][4] = {0}; // 定义一个4*4的全0二维数组
srand((unsigned)time(NULL)); // 设置随机数种子
// 随机选择一个位置
int x = rand() % 4;
int y = rand() % 4;
// 随机给该位置赋值
int value = rand() % 4 ? rand() % 2 ? 2 : 4 : 8;
arr[x][y] = value;
// 打印数组
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 0
```
其中,某一位置的值为随机生成的。
相关问题
用c设计一个4*4的二维数组,数组初始值全为0,然后给随机位置赋一个随机值(2 4 8),并且2的概率为50%,4和8的概率为25%
好的,以下是使用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的值。
有一个3*4的二维数组 要求输出二维数组各元素的值 c语言
以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
输出:
```
1 2 3 4
5 6 7 8
9 10 11 12
```