C语言生成三元数组,邻近数相乘大于1小于5,相加不为零
时间: 2023-05-14 07:06:14 浏览: 148
以下是生成三元数组的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 3
#define COLS 3
#define DEPTH 3
int main() {
int arr[ROWS][COLS][DEPTH];
srand(time(NULL));
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
for (int k = 0; k < DEPTH; k++) {
arr[i][j][k] = rand() % 5 + 1;
}
}
}
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
for (int k = 0; k < DEPTH; k++) {
if (i > 0 && arr[i][j][k] * arr[i-1][j][k] > 1 && arr[i][j][k] * arr[i-1][j][k] < 5 && arr[i][j][k] + arr[i-1][j][k] != 0) {
printf("(%d, %d, %d) * (%d, %d, %d) = %d\n", i, j, k, i-1, j, k, arr[i][j][k] * arr[i-1][j][k]);
}
if (j > 0 && arr[i][j][k] * arr[i][j-1][k] > 1 && arr[i][j][k] * arr[i][j-1][k] < 5 && arr[i][j][k] + arr[i][j-1][k] != 0) {
printf("(%d, %d, %d) * (%d, %d, %d) = %d\n", i, j, k, i, j-1, k, arr[i][j][k] * arr[i][j-1][k]);
}
if (k > 0 && arr[i][j][k] * arr[i][j][k-1] > 1 && arr[i][j][k] * arr[i][j][k-1] < 5 && arr[i][j][k] + arr[i][j][k-1] != 0) {
printf("(%d, %d, %d) * (%d, %d, %d) = %d\n", i, j, k, i, j, k-1, arr[i][j][k] * arr[i][j][k-1]);
}
}
}
}
return 0;
}
```
这段代码会生成一个三元数组,然后找出邻近数相乘大于1小于5,相加不为零的数对,并输出它们的乘积。
阅读全文