ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7

版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/84996105

这个我做了改进,可以实现NXN的矩阵。求出对角线之和!
只需要修改定义的define z的值就好!
接下来,进入正题!

题目描述:

求一个3×3矩阵对角线元素之和。

输入

矩阵

输出

主对角线 副对角线 元素和

样例输入

1 2 3
1 1 1
3 2 1

样例输出

3 7

来源/分类

C语言 

题目截图:
在这里插入图片描述
思路:

直接修改#define z 
修改后面的数值,就可以改变矩阵的大小啦!
本例子给出的是矩阵为4!


先来一个输入的程序:
for(i=0;i<z;i++)
	{
		for(j=0;j<z;j++)
		{
			cin>>a[i][j];
		}
	}
接下来进行对角线求和!
两个下标相等的是:
if(i==j)
		{s+=a[i][j];}
然后是斜对角线的相加!
if((i+j)==z-1)//下标减去1!就是斜对角线!
		{w+=a[i][j];}
然后就OK啦!

代码:

#include<iostream>
using namespace std;
#define z 4
int main()
{
	int a[z][z]={0};int i,j;int s=0;int w=0;
	for(i=0;i<z;i++)
	{
		for(j=0;j<z;j++)
	{
		cin>>a[i][j];
	}
	}
	for(i=0;i<z;i++)
	{
		for(j=0;j<z;j++)
	{
		if(i==j)
		{s+=a[i][j];}
		if((i+j)==z-1)
		{w+=a[i][j];}

	}
		//cout<<endl;
	}
	cout<<s<<" "<<w;
}

代码截图:
在这里插入图片描述
运行结果:
在这里插入图片描述
OJ结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42859280/article/details/84996105