问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All gight reserved.
*文件名称:temp.cpp
*作者:曾建强
*完成时间:2014年11月27日
*版本号:v1.0
*问题描述:求矩阵对角线元素之和
*输入描述:一个整数n,代表接下来的要输入n行n列的数据,作为矩阵中的元素以及n行n列的整数值。
*输出描述:两个整数
*/
#include <iostream>
using namespace std;
int main()
{
int i,j,m,sum1=0,sum2=0;
cin>>m;
int a[m][m];
for (i=0;i<m;++i)
{
for (j=0;j<m;++j)
cin>>a[i][j];
}
for (i=0;i<m;++i)
{
for (j=0;j<m;++j)
if (i==j)
sum1+=a[i][j];
}
for (i=0;i<m;++i)
{
for (j=0;j<m;++j)
if(i+j==m-1)
sum2+=a[i][j];
}
cout<<sum1<<" "<<sum2;
return 0;
}
运行结果:
知识点总结:
关于这个程序,组要就是弄清楚如何把对角线的元素相加。根据我自己的观察就是,第一条对角线i和j是相等的,第二条i加j会等于输入值m减去一。然后使用if语句,就能解决这个问题了。
学习心得:
要学好C++,果然要数学好啊!!!