首先,n*n阶矩阵需要用到二维数组。
然后矩阵得到了,需要找到对角线上的元素。
不难发现,主对角线上的元素下标是一样的,也就是i==j,其次副对角线上是元素角标相加等于n-1
所以,条件就是 if(i==j||i+i==n-1)
下面我以N=5为例
#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;
}