当前位置:主页 > 软件编程 > JAVA代码 >

C语言实现矩阵运算案例详解

时间:2022-11-03 10:30:22 | 栏目:JAVA代码 | 点击:

C语言实现矩阵运算

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
输入格式:
输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。
输出格式:
在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

输入样例:

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

输出样例:

35

#include <stdio.h>
#include <stdlib.h>
int main()
{
   int n;   
   scanf("%d", &n);
   int a[n][n];
      for(int i = 0; i < n; i++){
             for(int j = 0; j < n; j++){
                        scanf("%d", &a[i][j]);
                        //printf("%3d ", a[i][j]);
                        }
             //puts("");
   }
   int sum_1 = 0, sum_2 = 0;
   //puts("");
   int i, j;
   //printf("sum_1:\n");
   for (i = 0; i < n - 1; i++)
   {
        for (j = 0; j < n - i - 1; j++){
             sum_1 = sum_1 + a[i][j];
             //printf("%d\n", sum_1);                       
        }
   }
   //printf("%d\n", sum_1);
   //printf("sum_2:\n");
   if (n > 3){
       for (j = 2; j < n - 1; j++){
           for (i = n - j; i < n - 1; i++){
                sum_2 = sum_2 + a[i][j];               
                //printf("%d\n", sum_2);           
           }
       }
   }
   //printf("%d\n", sum_2);
   int sum = sum_2 + sum_1;
   printf("%d", sum);
   system("pause");
   return 0;
}

在这里插入图片描述

主要还是找规律。需要注意有两部分,而且第二部分规律比较特殊。

您可能感兴趣的文章:

相关文章