用C语言的数组编写一个三行三列的矩阵并分别计算所对应的行列对角线的和
时间: 2024-03-02 12:47:50 浏览: 78
C语言程序设计-在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和
5星 · 资源好评率100%
可以使用二维数组来表示一个三行三列的矩阵,并使用for循环来计算每行、每列和对角线的和,代码如下:
```c
#include <stdio.h>
int main()
{
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int row_sum[3] = {0}; // 每行的和
int col_sum[3] = {0}; // 每列的和
int diagonal_sum1 = 0; // 主对角线的和
int diagonal_sum2 = 0; // 副对角线的和
// 计算每行、每列和对角线的和
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
row_sum[i] += matrix[i][j]; // 计算第i行的和
col_sum[j] += matrix[i][j]; // 计算第j列的和
if(i == j) {
diagonal_sum1 += matrix[i][j]; // 计算主对角线的和
}
if(i+j == 2) {
diagonal_sum2 += matrix[i][j]; // 计算副对角线的和
}
}
}
// 输出矩阵
printf("矩阵为:\n");
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 输出每行的和
printf("每行的和为:");
for(int i=0; i<3; i++) {
printf("%d ", row_sum[i]);
}
printf("\n");
// 输出每列的和
printf("每列的和为:");
for(int j=0; j<3; j++) {
printf("%d ", col_sum[j]);
}
printf("\n");
// 输出对角线的和
printf("主对角线的和为:%d\n", diagonal_sum1);
printf("副对角线的和为:%d\n", diagonal_sum2);
return 0;
}
```
这个程序定义了一个名为matrix的二维数组,它有3行3列,然后初始化了这个数组为一个包含1到9的矩阵。接着使用两个for循环来遍历数组中的所有元素,并计算每行、每列和对角线的和。最后打印出矩阵、每行和每列的和以及对角线的和。
阅读全文