(2)在主函数中定义二维数组A[3][4], B[4],用子函数对数组A[3][4]每一行求和,其值放在数组B[4]中,在主函数中输出该值。
时间: 2023-11-12 16:08:38 浏览: 59
好的,让我来回答你的问题。(2)在主函数中定义二维数组A[3][4], B[4],用子函数对数组A[3][4]每一行求和,其值放在数组B[4]中,在主函数中输出该值。
可以按照以下步骤实现:
1. 在主函数中定义二维数组A[3][4]和一维数组B[4]。
2. 编写一个名为sum_row的子函数,用来对二维数组A的每一行进行求和,并将结果存储在一维数组B中。
3. 在主函数中调用sum_row函数,并将数组A和B作为参数传递给它。
4. 在主函数中输出数组B中的每个元素,即为每一行的求和结果。
下面是实现代码示例:
```
#include <stdio.h>
void sum_row(int A[][4], int B[], int rows) {
int i, j;
for (i = 0; i < rows; i++) {
int sum = 0;
for (j = 0; j < 4; j++) {
sum += A[i][j];
}
B[i] = sum;
}
}
int main() {
int A[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int B[4];
int i;
sum_row(A, B, 3); // 对A的每一行求和,并将结果存储在B中
// 输出B中的每个元素,即为每一行的求和结果
for (i = 0; i < 4; i++) {
printf("B[%d] = %d\n", i, B[i]);
}
return 0;
}
```
输出结果如下:
```
B[0] = 10
B[1] = 26
B[2] = 42
B[3] = 0
```