编写c语言程序,求一个n×n矩阵对角线元素之和。
时间: 2024-04-29 14:20:46 浏览: 18
这个问题可以回答。以下是一个示例C语言程序,可以计算n×n矩阵对角线元素之和:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入矩阵的维数n:");
scanf("%d", &n);
int sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
int num;
printf("请输入第%d行第%d列的元素:", i+1, j+1);
scanf("%d", &num);
if (i == j) {
sum += num;
}
}
}
printf("对角线元素之和为:%d\n", sum);
return 0;
}
```
相关问题
用c语言编写程序求一个3*3矩阵对角线元素之和
以下是用C语言编写程序求一个3*3矩阵对角线元素之和的例子:
```c
#include <stdio.h>
int main() {
int i, j;
float sum = 0;
float arr[3][3] = { 0 }; // 数组初始化
printf("请输入9个数字:\n");
for (i = 0; i < 3; i++) // 输入数组元素
{
for (j = 0; j < 3; j++) {
scanf_s("%f", &arr[i][j]);
}
}
for (i = 0; i < 3; i++) // 计算对角线的和
{
sum = sum + arr[i][i];
}
printf("3 * 3矩阵对角线元素之和为:%f\n", sum);
return 0;
}
```
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()` 函数计算主对角线元素之和并输出结果。