C语言编写两个函数:calculateRowSum(int matrix[] [3],int n),用于计算并返回二 维数组每一行元素的和,另一个函数calculateColumnSum(int mat
时间: 2024-11-20 16:37:25 浏览: 15
数组名作函数参数<p>地址传递-C语言第七章
在C语言中,你可以定义两个函数来分别计算二维数组的行和列总和。这里是一个简单的例子:
```c
#include <stdio.h>
// 函数声明:接收二维数组和行数,返回单行元素之和
int calculateRowSum(int matrix[][3], int n) {
int rowSum = 0;
for (int i = 0; i < n; i++) { // 遍历每一行
for (int j = 0; j < 3; j++) { // 计算当前行所有元素之和
rowSum += matrix[i][j];
}
}
return rowSum;
}
// 函数声明:接收二维数组和列数,返回单列元素之和
int calculateColumnSum(int matrix[][3]) {
int columnSums[3] = {0}; // 初始化一个存放三列总和的数组
for (int i = 0; i < 3; i++) { // 遍历每一列
for (int j = 0; j < 3; j++) { // 每一列都有三个元素
columnSums[i] += matrix[j][i];
}
}
return columnSums;
}
// 主函数演示如何使用这两个函数
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int rows = 3, cols = 3;
int rowResult = calculateRowSum(matrix, rows);
printf("Row sums: %d\n", rowResult);
int columnResult[3];
columnResult[0] = calculateColumnSum(matrix)[0]; // 注意数组下标对应
columnResult[1] = calculateColumnSum(matrix)[1];
columnResult[2] = calculateColumnSum(matrix)[2];
printf("Column sums: ");
for (int i = 0; i < cols; i++) {
printf("%d ", columnResult[i]);
}
return 0;
}
```
阅读全文