设计一个求n维矩阵主对角线数据元素之和的函数
时间: 2023-05-17 08:03:31 浏览: 78
可以使用以下代码实现:
```python
def diagonal_sum(matrix):
"""
计算n维矩阵主对角线数据元素之和
"""
n = len(matrix)
diagonal_sum = 0
for i in range(n):
diagonal_sum += matrix[i][i]
return diagonal_sum
```
这个函数接受一个n维矩阵作为参数,然后计算主对角线上的元素之和并返回结果。
相关问题
C语言编写一个函数,求N阶二维矩阵的主对角线元素之和。
以下是求N阶二维矩阵的主对角线元素之和的C语言函数:
```c
int diagonal_sum(int matrix[][N], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += matrix[i][i]; // 加上主对角线上的元素
}
return sum;
}
```
其中,`matrix`是一个二维数组,表示N阶矩阵;`n`是矩阵的阶数;`sum`是主对角线元素之和。函数使用一个for循环来遍历主对角线上的元素,并将其加到`sum`变量中,最后返回`sum`。
C语言编写一个函数,求N阶矩阵的主对角线元素之和
可以编写一个函数,使用二维数组存储矩阵,然后遍历主对角线元素并求和。具体实现如下:
```c
#include <stdio.h>
int sumOfMainDiagonal(int arr[][100], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i][i];
}
return sum;
}
int main() {
int n;
printf("请输入矩阵的阶数:");
scanf("%d", &n);
int arr[100][100];
printf("请输入矩阵的元素:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
int sum = sumOfMainDiagonal(arr, n);
printf("主对角线元素之和为:%d\n", sum);
return 0;
}
```
在该程序中,`sumOfMainDiagonal()` 函数接收一个二维数组 `arr` 和矩阵阶数 `n`,遍历主对角线元素并求和,返回结果。在 `main()` 函数中,首先从用户输入矩阵阶数和元素,然后调用 `sumOfMainDiagonal()` 函数计算主对角线元素之和并输出结果。