c语言 程序题 数组题
初始化矩阵a【4】【4】,分别计算两天对角线元素之和。要求输出原始矩阵及两条对角线的元素和。
3回答
-
望远
#include<stdio.h>
void main()
{
int arr[100][100];
int n,i,j;
int sum1=0,sum2=0;
printf("请输入一个正整数:");
scanf("%d",&n);
printf("请输入一个%d*%d的矩阵:\n",n,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&arr[i][j]);
}
}
printf("原矩阵为:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%5d",arr[i][j]);
if(i==j)
{
sum1+=arr[i][j];//主对角线
}
if(i+j==n-1)
{
sum2+=arr[i][j];//副对角线
}
}
printf("\n");
}
printf("主对角线之和:%d副对角线之和%d\n",sum1,sum2);
}
-
慕瓜4807886
对角线的元素的下标都是有规律的啊,00,11,22,33,04,13,22,40,如果你不想这样,对角线对于第一行来说就是第一个和最后一个元素,第二行就是第二个和倒数第二个,以此类推,然后你得到在相加就好了