二维数组求各行各列的和
时间: 2023-12-16 22:25:59 浏览: 42
以下是Python中二维数组求各行各列的和的方法:
假设我们有一个二维数组arr,它有m行n列,我们可以使用numpy库中的sum()函数来求各行各列的和。
1.求各行的和
```python
import numpy as np
# 创建一个3行4列的二维数组
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 求各行的和
row_sum = np.sum(arr, axis=1)
print(row_sum) # 输出:[10 26 42]
```
2.求各列的和
```python
import numpy as np
# 创建一个3行4列的二维数组
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 求各列的和
col_sum = np.sum(arr, axis=0)
print(col_sum) # 输出:[15 18 21 24]
```
相关问题
C语言三行三列的二维数组求各行各列的和
您好!对于这个问题,可以使用嵌套循环来计算每一行和每一列的和。以下是代码示例:
```c
#include <stdio.h>
int main() {
int arr[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
};
int row_sum[3] = {0}; // 存储每行的和
int col_sum[3] = {0}; // 存储每列的和
// 计算每行和每列的和
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
row_sum[i] += arr[i][j];
col_sum[j] += arr[i][j];
}
}
// 输出每行的和
printf("每行的和为:\n");
for (int i = 0; i < 3; i++) {
printf("%d ", row_sum[i]);
}
printf("\n");
// 输出每列的和
printf("每列的和为:\n");
for (int j = 0; j < 3; j++) {
printf("%d ", col_sum[j]);
}
printf("\n");
return 0;
}
```
希望能对您有帮助!如果还有其它问题,欢迎继续提问。同时,您想听一个笑话吗?为什么程序员喜欢喝酸奶?因为它有助于生成代码!
利用指针数组求二维数组各行元素之和
可以通过如下代码来实现:
```c
#include <stdio.h>
int main() {
int data[3][4] = {{1, 2, 3, 4}, {2, 4, 6, 8}, {3, 6, 9, 12}};
int sums[3] = {0};
// 使用指针数组,对每行元素求和
for (int i = 0; i < 3; i++) {
for (int *p = &data[i][0]; p < &data[i][4]; p++) {
sums[i] += *p;
}
}
// 打印每行元素之和
for (int i = 0; i < 3; i++) {
printf("第 %d 行元素之和为:%d\n", i+1, sums[i]);
}
return 0;
}
```
以上代码中,我们定义了一个二维数组 `data`,其中存储了 3 行 4 列的数据。然后,我们定义一个一维数组 `sums`,用于存放每行元素之和。
使用指针数组,我们对每一行的元素进行遍历,并将元素之和累加到 `sums` 数组中。最后,打印出每一行的元素之和即可。
注意:以上代码中,我们使用了指针数组 `p`,其代表的是每一行的第一个元素的地址。使用指针数组的好处在于可以避免使用二维数组时需要使用行列索引的繁琐操作。