初始化矩阵a【4】【4】,分别计算两天对角线元素之和。要求输出原始矩阵及两条对角线的元素和。
                    
                    
                3 回答
                        已采纳
                    
                                        
                         
                    
                    
                            望远
                            
                                
                            
                        
                        
                                                
                    TA贡献1017条经验 获得超1032个赞
#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
                            
                                
                            
                        
                        
                                                
                    TA贡献25条经验 获得超9个赞
对角线的元素的下标都是有规律的啊,00,11,22,33,04,13,22,40,如果你不想这样,对角线对于第一行来说就是第一个和最后一个元素,第二行就是第二个和倒数第二个,以此类推,然后你得到在相加就好了
- 3 回答
- 1 关注
- 1293 浏览
添加回答
举报
0/150
	提交
		取消
	