📅  最后修改于: 2023-12-03 15:13:47.264000             🧑  作者: Mango
在 C 语言中,数组是一种存储固定长度元素序列的数据结构。数组中的元素可以是任意数据类型,例如整数、浮点数、字符等等。
数组问题 6 是关于 C 语言多维数组的问题,也就是数组中嵌套数组的情况。
给定一个三维数组 arr
,请编写一个函数 sum_of_elements
,计算这个数组中所有元素之和。
函数原型如下:
double sum_of_elements(double arr[][2][3], int rows);
其中,arr
表示一个三维数组,它包含 rows
个二维数组。每个二维数组都有 2 行 3 列。sum_of_elements
函数需要返回这个数组中所有元素之和的值。
我们可以使用三个嵌套的循环遍历三维数组 arr
,计算出所有元素之和。
double sum_of_elements(double arr[][2][3], int rows) {
double sum = 0;
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < 2; ++j) {
for (int k = 0; k < 3; ++k) {
sum += arr[i][j][k];
}
}
}
return sum;
}
下面是一个使用示例:
#include <stdio.h>
double sum_of_elements(double arr[][2][3], int rows);
int main() {
double arr[2][2][3] = {
{ {1.1, 2.2, 3.3}, {4.4, 5.5, 6.6} },
{ {7.7, 8.8, 9.9}, {10.1, 11.2, 12.3} }
};
double sum = sum_of_elements(arr, 2);
printf("Sum of all elements: %f\n", sum);
return 0;
}
double sum_of_elements(double arr[][2][3], int rows) {
double sum = 0;
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < 2; ++j) {
for (int k = 0; k < 3; ++k) {
sum += arr[i][j][k];
}
}
}
return sum;
}
上面的示例运行结果为:
Sum of all elements: 78.900000
数组是 C 语言中常用的数据结构之一,在多维数组中,嵌套循环可以方便地遍历所有的元素,进行各种操作。