牛骨文教育服务平台(让学习变的简单)
博文笔记

C++第二次测验——二维数组各行各列之和

创建时间:2012-12-24 投稿人: 浏览次数:5603

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565

【题目】设有int a[5][5],编写程序计算每行元素之和及每列元素之和。


解法一:各行和与各列和分别计算

//设有int a[5][5],编写程序计算每行元素之和及每列元素之和。
#include <iostream>
using namespace std;
int main ()
{
	int a[5][5];
	int i,j;
	cout<<"数组为:"<<endl;
	for(i=0;i<5;++i)
	{
		for(j=0;j<5;++j)
		{
			a[i][j]=i*5+j;  //可以通过其他途径给数组赋值
			cout<<a[i][j]<<"	";
		}
		cout<<endl;
	}
	
	int row[5]={0}, col[5]={0}; //分别存储每行元素之和及每列元素之和,元素初值均为0
	//计算各行和
	for(i=0;i<5;++i)
	{
		for(j=0;j<5;++j)
			row[i]+=a[i][j];
	}
	//输出各行和
	cout<<"各行和: "<<endl;
	for(i=0;i<5;++i)
	{
		cout<<"row "<<i<<": "<<row[i]<<endl;
	}
	//计算各列和
	for(i=0;i<5;++i)
	{
		for(j=0;j<5;++j)
			col[j]+=a[i][j];
	}
	//输出各列和
	cout<<"各列和: "<<endl;
	for(i=0;i<5;++i)
	{
		cout<<"col "<<i<<": "<<col[i]<<endl;
	}
	return 0; 
}

解法二:各行和与各列和在一个循环中解决
//设有int a[5][5],编写程序计算每行元素之和及每列元素之和。
#include <iostream>
using namespace std;
int main ()
{
	int a[5][5];
	int i,j;
	cout<<"数组为:"<<endl;
	for(i=0;i<5;++i)
	{
		for(j=0;j<5;++j)
		{
			a[i][j]=i*5+j;  //可以通过其他途径给数组赋值
			cout<<a[i][j]<<"	";
		}
		cout<<endl;
	}
	
	int row[5]={0}, col[5]={0}; //分别存储每行元素之和及每列元素之和,元素初值均为0
	//计算各行与各列和
	for(i=0;i<5;++i)
	{
		for(j=0;j<5;++j)
		{
			row[i]+=a[i][j];
			col[j]+=a[i][j];
		}
	}
	//输出各行和
	cout<<"各行和: "<<endl;
	for(i=0;i<5;++i)
	{
		cout<<"row "<<i<<": "<<row[i]<<endl;
	}
	//输出各列和
	cout<<"各列和: "<<endl;
	for(i=0;i<5;++i)
	{
		cout<<"col "<<i<<": "<<col[i]<<endl;
	}
	return 0; 
}

解法三:不用数组,一边计算一边输出
//设有int a[5][5],编写程序计算每行元素之和及每列元素之和。
#include <iostream>
using namespace std;
int main ()
{
	int a[5][5];
	int i,j,sum;
	cout<<"数组为:"<<endl;
	for(i=0;i<5;++i)
	{
		for(j=0;j<5;++j)
		{
			a[i][j]=i*5+j;  //可以通过其他途径给数组赋值
			cout<<a[i][j]<<"	";
		}
		cout<<endl;
	}
	
	//计算各行和,并输出
	cout<<"各行和: "<<endl;
	for(i=0;i<5;++i)
	{
		sum=0;  //这个灰常关键
		for(j=0;j<5;++j)
		{
			sum+=a[i][j];
		}
		cout<<"row "<<i<<": "<<sum<<endl;
	}
	//计算各列和(类似按列序优先输出),并输出
	cout<<"各列和: "<<endl;
	for(i=0;i<5;++i)
	{
		sum=0;  //这个灰常关键
		for(j=0;j<5;++j)
		{
			sum+=a[j][i];
		}
		cout<<"col "<<i<<": "<<sum<<endl;
	}
	return 0; 
}








声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。