c语言 求4*4矩阵主对角线元素之和,副对角线元素之和

 我来答
热巴老师
2018-03-31 · TA获得超过8040个赞
知道小有建树答主
回答量:867
采纳率:100%
帮助的人:47.3万
展开全部

【输入】

输入一个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)。

xoalyg
2011-11-30 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2370万
展开全部
#include <stdio.h>

int main() {
int a[4][4],i,j,msum = 0,ssum = 0;
for(i = 0; i < 4; ++i) {
for(j = 0; j < 4; ++j) {
printf("a[%d][%d] = ",i,j);
scanf("%d",&a[i][j]);
}
}
printf("矩阵元素表:\n");
for(i = 0; i < 4; ++i) {
for(j = 0; j < 4; ++j) {
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i = 0; i < 4; ++i) {
msum += a[i][i];
ssum += a[i][3 - i];
}
printf("主对角线的和是:%d\n斜对角线的和是:%d\n\n",msum,ssum);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
很好吃啊
推荐于2018-02-27 · TA获得超过122个赞
知道答主
回答量:49
采纳率:0%
帮助的人:29.1万
展开全部
核心代码:
int i,j,sum=0,arr[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(i+j==3 || i==j)
sum+=arr[i][j];
具体的代码实现由你自己完成
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式