求矩阵的外围元素之和,主对角线元素之和以及副对角线元素之和

来源:互联网 发布:珠海网络教育报名 编辑:程序博客网 时间:2024/05/13 20:57

第6题

【描述】

输入一个4×4的整数矩阵,求该矩阵的外围元素之和,主对角线元素之和以及副对角线元素之和。

【输入】

输入一个4×4的整数矩阵。

分4行,每行4个整数,整数之间以空格间隔。

【输出】

分行输出矩阵的外围元素之和,主对角线元素之和以及副对角线元素之和。

【输入示例】

1 2 4 5

6 7 8 9

0 1 2 3

4 5 6 7

【输出示例】

52

17

18

【提示】

求三类元素的和,可以定义三个不同的和变量,在遍历数组元素的循环中通过三次条件判断分别进行三类元素的求和。设行下标为i,列下标为j,考察三类元素的下标特征,外围元素要么行下标i == 0或者i == n - 1(这里n为4),要么列下标j ==0或者j == n - 1;主对角线上的元素行下标和列下标相等(i == j);副对角线上的元素行下标和列下标之和等于n - 1(i + j == n - 1)。

【来源】

《程序设计基础——以C为例》第6章上机实验题6。




#include<stdio.h>int main(){int a[4][4];int i,j,wai=0,zhu=0,fu=0;for(i=0;i<4;i++)for(j=0;j<4;j++){scanf("%d",&a[i][j]);if((i==0||i==3)||(j==0||j==3))wai+=a[i][j];if(i==j)           //一开始这里用了else if 导致前面用过的数组后面不再计算进去,小心! zhu+=a[i][j];if(i+j==3)fu+=a[i][j];}printf("%d\n%d\n%d",wai,zhu,fu);}


0 0