用c语言求 n 行 n 列矩阵中主对角线的元素值的和。 输入格式: 输入整数 n(1<n<=20)。再循环输入该二维数组元素。 输出格式: 分行输出矩阵中各个元素的值,每个元素输出占用 8 列(%8d),右对齐。 输入样例: 5 输出样例: 2 -1 -1 -1 -1 1 2 -1 -1 -1 1 1 2 -1 -1 1 1 1 2 -1 1 1 1 1 2 10
时间: 2024-04-07 08:32:11 浏览: 76
专项4程序设计题100道
可以使用二重循环来遍历整个矩阵,并判断当前元素是否在主对角线上。主对角线上的元素满足行和列的编号相等,因此可以使用一个计数器来计算主对角线上的元素的和。
以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int matrix[20][20];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
int sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%8d", matrix[i][j]);
if (i == j) {
sum += matrix[i][j];
}
}
printf("\n");
}
printf("Sum of diagonal elements: %d\n", sum);
return 0;
}
```
该代码首先读入矩阵的大小和元素,然后遍历整个矩阵,并分行输出每个元素的值。如果当前元素在主对角线上,则将其加入计数器中。最后输出主对角线上的元素的和。
阅读全文