0
点赞
收藏
分享

微信扫一扫

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


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

题目描述:

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

输入

矩阵

输出

主对角线 副对角线 元素和

样例输入

1 2 3
1 1 1
3 2 1

样例输出

3 7

来源/分类

C语言 

题目截图:

ACMNO.19 C语言-对角求和 求一个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;
}

代码截图:

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


运行结果:

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


OJ结果:

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


举报

相关推荐

0 条评论