C语言求矩阵的主对角线元素之和
时间: 2023-12-15 17:30:56 浏览: 230
以下是C语言求矩阵主对角线元素之和的代码实现:
```c
#include <stdio.h>
int main()
{
int n, i, j, sum = 0;
printf("Enter the size of matrix: ");
scanf("%d", &n);
int a[n][n];
printf("Enter the elements of matrix:\n");
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
scanf("%d", &a[i][j]);
if(i == j)
{
sum += a[i][j];
}
}
}
printf("Sum of diagonal elements = %d", sum);
return 0;
}
```
用户需要输入矩阵的大小,然后输入矩阵的元素。程序会计算矩阵的主对角线元素之和并输出。
--相关问题--:
1. 如何在C语言中求矩阵的次对角线元素之和?
2. 如何在C语言中实现矩阵的转置?
3. 如何在C语言中实现矩
相关问题
c语言求矩阵两条对角线元素之和
请问您需要的是正方形矩阵的两条对角线元素之和还是矩形矩阵的两条斜线元素之和呢?以下给出两种情况的代码示例:
1. 正方形矩阵的两条对角线元素之和
```c
#include <stdio.h>
#define N 3 // 定义矩阵的阶数
int main()
{
int mat[N][N] = {{1,2,3},{4,5,6},{7,8,9}}; // 定义一个3阶矩阵
int i, sum1 = 0, sum2 = 0;
for(i = 0; i < N; i++)
{
sum1 += mat[i][i]; // 主对角线元素之和
sum2 += mat[i][N-i-1]; // 副对角线元素之和
}
printf("主对角线元素之和:%d\n", sum1);
printf("副对角线元素之和:%d\n", sum2);
return 0;
}
```
2. 矩形矩阵的两条斜线元素之和
```c
#include <stdio.h>
#define ROW 3 // 定义矩阵的行数
#define COL 4 // 定义矩阵的列数
int main()
{
int mat[ROW][COL] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; // 定义一个3行4列矩阵
int i, j, sum1 = 0, sum2 = 0;
int n = ROW < COL ? ROW : COL; // 取行数和列数中的最小值作为对角线元素个数
for(i = 0; i < n; i++)
{
sum1 += mat[i][i]; // 左上到右下的斜线元素之和
sum2 += mat[i][COL-i-1]; // 右上到左下的斜线元素之和
}
printf("左上到右下的斜线元素之和:%d\n", sum1);
printf("右上到左下的斜线元素之和:%d\n", sum2);
return 0;
}
```
c语言求一个3x3矩阵主对角线元素之和。
以下是C语言求一个3x3矩阵主对角线元素之和的代码:
```c
#include <stdio.h>
int main() {
int matrix[3][3] = {{1,2, 3}, {4, 5, 6}, {7, 8, 9}};
int sum = 0;
for (int i = 0; i < 3; i++) {
sum += matrix[i][i];
}
printf("The sum of the main diagonal elements is: %d\n", sum);
return 0;
}
```
阅读全文