对应22年真题的编程题
首先计算3x3矩阵对角线的值关键:在于对角线的元素是什么?
对角线的元素是第几行就是第几列的那个数值 例如:第一行第一列是对角线上的值
第二行第二列的也是对角线上的值;
所有我们可以用一个for循环嵌套一个for循环进行求值判断。
我们在遍历传过来的数组 只要遇到行和列相同号的值我们就把这个行列对应的数值加进去,定义了一个整数型sum用以计算 最后返回sum;
主函数main主要就设计了如何将这样一个矩阵创建出来:同样我们也可以用一个for循环嵌套一个for循环来最这个矩阵的每个元素进行输入:
一些细节问题因为我们的数字是从a[0][0]开始存储的所以我们在提醒用户的时候我们要加一个1:
SIZE 3就是为我们定义一个3x3的矩阵大小
整体代码如下:
#define SIZE 3
#include<stdio.h>
int djx(int a[SIZE][SIZE]) {
int sum = 0;
for (int d = 0; d < SIZE; d++)
{
for (int c = 0; c <SIZE; c++)
{
if (d == c) sum = sum + a[d][c];
}
}
return sum;
}
int main() {
int a[SIZE][SIZE]; int d = 0;
for (int i = 0; i < SIZE; i++)
{
for (int c = 0; c < SIZE; c++)
{
printf("请输入第%d行第%d列的元素\n",i+1,c+1);
scanf("%d", &a[i][c]);
}
}
d = djx(a);
printf("对角线之和为:%d", d);
}