矩阵所有元素之和(请帮我把下面的代码优化一下,谢谢)

来源:百度知道 编辑:UC知道 时间:2024/07/06 23:56:34
#include<iostream.h>
void main()
{
int a[4][3]={{1,2,3},{4,5,6},{1,2,3},{4,8,6}};
int sum=0;
int i,j;
for( i=0;i<3;i++)
for( j=0;j<4;j++)
sum+=a[i][j];
cout<<"该矩阵的元素的和:"<<sum<<endl;
}

首先你得程序有问题,虽然编译通过但计算有误,
你的答案是36,实际应该是45,不信你就算一下。
你的程序应该这么改就对了:
#include<iostream.h>
void main()
{
int a[4][3]={{1,2,3},{4,5,6},{1,2,3},{4,8,6}};
int sum=0;
int i,j;
for( i=0;i<4;i++)
for( j=0;j<3;j++)
sum+=a[i][j];
cout<<"该矩阵的元素的和:"<<sum<<endl;
}

优化代码:

#include<iostream.h>

void main()
{
int a[4][3]={{1,2,3},{4,5,6},{1,2,3},{4,8,6}};
int sum=0;

for(int i=0;i<sizeof(a)/sizeof(int);i++)
{
sum += *(a[0]+i);
}
cout<<"该矩阵的元素的和:"<<sum<<endl;
}