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

7-5 矩阵运算

分数 20

全屏浏览题目

切换布局

作者 C课程组

单位 浙江大学

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

输入格式:

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

输出格式:

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

输入样例:

4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1

输出样例:

35

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

这道题说难不难,一开始就准备暴力解决,直接总和开减,但发现,太麻烦了。。对角两个数组还会多减一次,不过后面我又发现一个好办法,就是算副对角线总和去掉两端:

for(r=1;r<=n;r++){
        for(j=1;j<=n;j++){
            scanf("%d",&a[r][j]); 
            sum+=a[r][n-r+1];  
        }

然后算来算去,又在提示下想到了一个更好的办法:

注意,下面这个for语句是前闭后开

#include 
int main(){
    int answer=0,n=0,i=0,j=0;
    scanf("%d",&n);
    int a[n][n];
    for(i=0;i

这个方法就比较巧。

你可能感兴趣的:(PTA基础题,矩阵,算法,数据结构,开发语言,c语言,编辑器)