//求二维数组列,行,对角线之和
#include<iostream>
using namespace std;
const int rows=4;
const int cols=4;
int main()
{
int row,col,sum;//因为定义的row col是元素的位置所以只能是整数型,sum可以是double型,因为下面数组 中的元素都是整数所以就放在int中一起定义了
int matrix[rows][cols]=
{
{1,-2,3,4},
{5,6,-7,8},
{9,10,0,12},
{13,14,15,16}
};
//输出该二维数组
for(row=0;row<rows;row++)//
{//
for(col=0;col<cols;col++)//
{//
cout.width (5);//
cout<<matrix[row][col]<<' ';//
}//
cout<<endl;//
}
//按行计算元素之和
for(row=0;row<rows;row++)
{
sum=0;
for(col=0;col<cols;col++)
sum+=matrix[row][col];
cout<<"第"<<row+1<<"行的和是:"<<sum<<endl;
}
cout<<endl;
//按列计算元素之和
for(col=0;col<cols;col++)
{
sum=0;
for(row=0;row<rows;row++)
sum+=matrix[row][col];
cout<<"第"<<col+1<<"列的和是:"<<sum<<endl;
}
cout<<endl;
//计算对角线元素之和
sum=0;
for(row=0;row<rows;row++)
sum+=matrix[row][row];
cout<<"对角线元素之和是:"<<sum<<endl<<endl;
//计算反对角线之和
sum=0;
for(row=0;row<rows;row++)
sum+=matrix[row][rows-1-row];
cout<<"反对角线之和是:"<<sum<<endl<<endl;
//计算结束
return 0;
}
几个问题不是太明白:
1.在int matrix[rows][cols]和sum+=matrix[row][col]中的matrix的含义。
2.第21句cout.width (5);不懂含义。