求一个5*5矩阵对角线元素这和程序

2025-04-16 21:03:47
推荐回答(3个)
回答1:

#include
void main()
{
int a[5][5],i,j,z=0,y=0;
printf("请输入一个5*5的矩阵\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("请输入第%d行,第%d列的数",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
if(i==j) z=z+a[i][j];
if(i+j==4) y=y+a[i][j];
}
}
printf("从左至右的对角线上的和为%d,\n从右至左的对角线上的和为%d.",z,y);
}

回答2:

#include "stdio.h"
#define M 5 //矩阵阶数
void main()
{
int a[M][M],i,j,sum=0;
printf("请输入%d*%d矩阵:\n",M,M);
for(i=0;i for(j=0;j {
scanf("%d",&a[i][j]);
if (i==j)sum+=a[i][j];//主对角线和
//if (i+j==M-1)sum+=a[i][j];//如果是两个对角线的和,加上这句
}
printf("\n主对角线和=%d\n",sum);
}

回答3:

int a[5][5],i,j,sum=0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i+j==4||i==j)
sum=sum+a[i][j];
printf("sum=%d",sum);