求n阶矩阵对角线的和c语言
时间: 2024-02-23 22:03:01 浏览: 25
可以使用双重循环遍历矩阵进行求解,代码如下:
```c
#include <stdio.h>
int main() {
int n; // 矩阵阶数
printf("请输入矩阵的阶数:");
scanf("%d", &n);
int matrix[n][n]; // 定义矩阵
int i, j, sum = 0; // i, j 为循环计数器,sum 为对角线元素之和
// 输入矩阵元素
printf("请输入矩阵的元素:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算对角线元素之和
for (i = 0; i < n; i++) {
sum += matrix[i][i];
}
printf("矩阵对角线的和为:%d\n", sum);
return 0;
}
```
以上代码中,我们首先通过 `scanf` 函数输入矩阵的阶数,然后定义一个 `n * n` 的矩阵(数组)并输入矩阵元素。接着,使用两重循环遍历矩阵的对角线元素,并将其累加到 `sum` 变量中。最后,输出 `sum` 变量即可得到矩阵对角线元素之和。
相关问题
c语言求n阶矩阵的对角线之和
假设矩阵为n阶方阵,可以通过循环遍历矩阵对角线上的元素并累加它们的值来求对角线之和。具体代码如下:
```c
#include <stdio.h>
int main() {
int n; // 矩阵阶数
printf("请输入矩阵的阶数:");
scanf("%d", &n);
int matrix[n][n]; // 定义n阶矩阵
int i, j, sum = 0; // sum为对角线之和
printf("请输入矩阵的元素:\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
if (i == j) { // 判断是否为对角线元素
sum += matrix[i][j];
}
}
}
printf("对角线之和为:%d\n", sum);
return 0;
}
```
以上代码中,我们定义了一个n阶矩阵,并通过双重循环遍历矩阵的元素。当元素满足行下标等于列下标时,即为对角线上的元素,累加它们的值即可得到对角线之和。
C语言求n*n矩阵对角线元素之和
以下是两种C语言求n*n矩阵对角线元素之和的例子:
1.使用二维数组
```c
#include <stdio.h>
int main() {
int a[10][10]; //定义n*n的二维数组
int i, sum = 0, n; //i作为循环标号,sum用来求和;n就是我们要输入的n*n矩阵。
printf("input n 形成n*n矩阵\n");
scanf("%d", &n);
printf("\n");
//下面两个嵌套的for循环就是来初始化(赋值)数组。
for (i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
//因为n是我们输入的数,无法确定几个元素相加,就要使用循环解决。
for (i = 0; i < n; i++) {
sum += a[i][i]; //因为是相加对角线上的元素,所以该元素就是第n行,第n列。
}
printf("sum=%d", sum);
return 0;
}
```
2.使用条件判断
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 5
int main() {
int score[N][N], i, j, sum = 0;
srand(time(NULL));
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
score[i][j] = rand() % 10 + 1;
}
}
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
if (i == j || j + i == N - 1) {
sum = sum + score[i][j];
}
printf("%-4d", score[i][j]);
}
printf("\n");
}
printf("%d\n", sum);
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)