PTA---矩阵运算 (10 分)

PTA----矩阵运算

玖夜Kty的博客:

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。

输入格式:
输入第一行给出正整数n(1

输出格式:
在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

输入样例:
4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
输出样例:
35

My 代码(简单分析)
#include<stdio.h>
int main()
{
	int n,i,k;
	int sum=0;
	int a[100][100];
	scanf("%d",&n);
	
	for(i=0;i<n;i++)			//i代表行,k代表列,横向输入 
	{
		for(k=0;k<n;k++)
		scanf("%d",&a[i][k]);	//矩阵横向构造 
	}
	
	for(i=0;i<n;i++)
	{
		for(k=0;k<n;k++)
		sum=sum+a[i][k];		//总元素和 
	}
	
	k=n-2;
	for(i=1;i<=n-2;i++)
	{
		if(k>=1)
		{
			sum=sum-a[i][k];
			k=k-1;
		}
	}
								//减去fu对角元素(且不能包含最后一列、行的元素)
	 for(i=0;i<n;i++)
	 {
	 	k=n-1;
	 	sum=sum-a[i][k];		//减去最后一列 
	 }
	 for(k=0;k<n;k++)
	 {
	 	i=n-1;					//减去最后一行 
	 	sum=sum-a[i][k];		//(行列有一个元素重复减去) 
	 }
	 
	 sum=sum+a[n-1][n-1];
	
	 printf("%d",sum);
}

/*
	0	1	2	3	4
		
0	00	01	02	03	04
1	10	11	12	13	14
2	20	21	22	23	24
3	30	31	32	33	34
4	40	41	42	43	44

*/

你可能感兴趣的:(PTA,分析,C语言,编程,C++)