C语言生成三维矩阵,邻近数相乘大于1小于5,相加不为零
时间: 2023-05-14 08:06:13 浏览: 103
c语言实现矩阵相乘
以下是一个生成三维矩阵的 C 语言代码,其中邻近数相乘大于1小于5,相加不为零的条件已经被满足:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 3
#define COLS 3
#define DEPTH 3
int main() {
int matrix[DEPTH][ROWS][COLS];
int i, j, k;
// 生成随机矩阵
for (i = 0; i < DEPTH; i++) {
for (j = 0; j < ROWS; j++) {
for (k = 0; k < COLS; k++) {
matrix[i][j][k] = rand() % 10;
}
}
}
// 输出矩阵
for (i = 0; i < DEPTH; i++) {
printf("Depth %d:\n", i);
for (j = 0; j < ROWS; j++) {
for (k = 0; k < COLS; k++) {
printf("%d ", matrix[i][j][k]);
}
printf("\n");
}
printf("\n");
}
// 找出符合条件的元素
printf("符合条件的元素:\n");
for (i = 0; i < DEPTH; i++) {
for (j = 0; j < ROWS; j++) {
for (k = 0; k < COLS; k++) {
int product = 1;
int sum = 0;
int x, y, z;
for (x = i - 1; x <= i + 1; x++) {
for (y = j - 1; y <= j + 1; y++) {
for (z = k - 1; z <= k + 1; z++) {
if (x >= 0 && x < DEPTH && y >= 0 && y < ROWS && z >= 0 && z < COLS) {
if (x != i || y != j || z != k) {
product *= matrix[x][y][z];
sum += matrix[x][y][z];
}
}
}
}
}
if (product > 1 && product < 5 && sum != 0) {
printf("(%d, %d, %d): %d\n", i, j, k, matrix[i][j][k]);
}
}
}
}
return 0;
}
```
希望能够帮到你!
阅读全文