c语言输出一个三维数组
时间: 2024-05-06 07:22:01 浏览: 42
可以使用三重循环进行遍历,代码如下:
```c
#include <stdio.h>
int main() {
int arr[2][3][4] = {{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}, {{13, 14, 15, 16}, {17, 18, 19, 20}, {21, 22, 23, 24}}};
int i, j, k;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 4; k++) {
printf("%d ", arr[i][j][k]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
```
这个程序将一个大小为 2x3x4 的三维数组 arr 中的每个元素依次输出。
相关问题
用C语言编写一个二维数组排序的程序
下面是使用C语言编写的二维数组排序程序,其中采用冒泡排序法对二维数组进行排序:
```c
#include <stdio.h>
void sort(int arr[][3], int n) {
int i, j, k, temp;
for (i = 0; i < n; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 3 - j - 1; k++) {
if (arr[i][k] > arr[i][k+1]) {
temp = arr[i][k];
arr[i][k] = arr[i][k+1];
arr[i][k+1] = temp;
}
}
}
}
}
int main() {
int arr[3][3] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
int i, j;
printf("Before sorting:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
sort(arr, 3);
printf("After sorting:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在上述代码中,我们定义了一个二维数组 `arr`,然后调用 `sort()` 函数对其进行排序。在 `sort()` 函数中,我们使用了三层循环,其中第一层循环用于遍历二维数组的每一行,第二层循环用于遍历每一行中的元素,第三层循环用于进行冒泡排序。最终,我们通过调用 `sort()` 函数实现了对二维数组的排序,并将排序后的结果输出到控制台上。
三维数组每一层求和c语言
在C语言中,计算三维数组(即数组的数组)每一层的和,可以采用循环嵌套的方式。这里是一个基本示例:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
#define DEPTH 2
// 定义三维数组
int arr[ROWS][COLS][DEPTH];
void sum三层(int arr[][COLS][DEPTH], int depth) {
for (int i = 0; i < ROWS; i++) { // 遍历行
for (int j = 0; j < COLS; j++) { // 遍历列
int layer_sum = 0; // 初始化层的和
for (int k = 0; k < depth; k++) { // 遍历深度
layer_sum += arr[i][j][k]; // 累加当前层的元素
}
printf("Layer at [%d,%d]: %d\n", i, j, layer_sum); // 输出当前层的和
}
}
}
int main() {
// 填充示例数据
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] = i * COLS + j * DEPTH + k;
// 求和
sum三层(arr, DEPTH);
return 0;
}
```
这个程序会打印出每层三维数组的和。注意,你需要根据实际需求修改`ROWS`, `COLS`, 和`DEPTH`的值,以及数组初始化部分。