输入一个M行M列的二维数组,分别计算两条对角线上的元素之和

2024-11-09 14:36:51
推荐回答(1个)
回答(1):

/*LAB5_2.c:输入一个M行M列的二维数组,分别计算两条对角线上的元素之和*/
#include
#define M 5

main()
{
int ma[M][M],i,j;
int fstDiagonal,scdDiagonal;

/*输入M*M矩阵*/
printf("请输入%d行%d列矩阵共%d个元素值(整数):\n",M,M,M*M);

for(i=0;i for(j=0;j scanf("%d",&ma[i][j]);
/*计算主对角线和次对角线上的元素之和*/
fstDiagonal=scdDiagonal=0;
for(i=0;i for(j=0;j {
if(i==j)
fstDiagonal+=ma[i][j];
if(i==(M-1-j))
scdDiagonal+=ma[i][j];
}
/*提示:分析主对角线和次对角线上数组元素行下标和列下标的特点*/

/*输出M*M矩阵*/
printf("输入%d*%d矩阵为:\n",M,M);
for(i=0;i{
for(j=0;j printf("%d ",ma[i][j]);
printf("\n");
}
/*输出所求结果*/
printf("fstDiagonal=%d,fcdDiagonal=%d",fstDiagonal,scdDiagonal);
}