求一个5*5的整型矩阵两条对角线元素之和
C语言示例代码如下:
#include<stdio.h>
int main(){int i,sumX=0,sumY=0,sum=0;
int num[5][5]=
{{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}};
for(i=0;i<5;i++){//计算对角线
sumX+=num[i][i];
sumY+=num[5-i][i];}
sum=sumX+sumY-num[2][2];//相加对角线并去除重复加的部分。
printf("%d\n",sum);return 0;}
扩展资料
矩阵的研究历史悠久,拉丁方阵和幻方在史前年代已有人研究。
在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出。作为解决线性方程的工具,矩阵也有不短的历史。
成书最早在东汉前期的《九章算术》中,用分离系数法表示线性方程组,得到了其增广矩阵。在消元过程中,使用的把某行乘以某一非零实数、从某行中减去另一行等运算技巧,相当于矩阵的初等变换。
但那时并没有现今理解的矩阵概念,虽然它与现有的矩阵形式上相同,但在当时只是作为线性方程组的标准表示与处理方式。
矩阵正式作为数学中的研究对象出现,则是在行列式的研究发展起来后。逻辑上,矩阵的概念先于行列式,但在实际的历史上则恰好相反。
日本数学家关孝和(1683年)与微积分的发现者之一戈特弗里德·威廉·莱布尼茨(1693年)近乎同时地独立建立了行列式论。其后行列式作为解线性方程组的工具逐步发展。1750年,加布里尔·克拉默发现了克莱姆法则。
参考资料来源:百度百科-矩阵
{
int a[5][5],i,j,sum1,sum2;
sum1=0;
sum2=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{ scanf("%d",&a[i][j]);
if(i==j) sum1+=a[i][j];
if(i+j==4) sum2+=a[i][j];
}
printf("%d,%d",sum1,sum2);
return 0;
}
const int N=5;
int sum_matrix(int a[N][N])
{int sum=0,i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{if(i==j)
sum+=a[i][j];
if(i+j==N-1)
sum+=a[i][j];
}
sum-=a[N/2][N/2];
return sum;
}
void main()
{
int a[N][N],i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
printf("%d\n",sum_matrix(a));
}