版权声明:转载请声明原文链接地址,谢谢! 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结果: