程序设计实践–4

作者 : admin 本文共827个字,预计阅读时间需要3分钟 发布时间: 2024-06-17 共1人阅读

数阵

矩阵加法

程序先输入两个整数m, n(0<=m,n<=100),分别表示矩阵的行数和列数,然后分别输入m行n列的两个矩阵A,B。

输出描述

输出矩阵相加的结果。

用例输入 1 

3  4
1 2 3 4
5 6 7 8
1 0 1 0
3 4 2 1
4 6 7 9
3 4 2 0

用例输出 1 

4 6 5 5
9 12 14 17
4 4 3 0
#include
int main()
{
	int a[100][100];
	int b[100][100];
	int m,n;
	int i,j;
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			scanf("%d",&b[i][j]);
		}
	}
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			printf("%d ",a[i][j]+b[i][j]);
		}printf("
");
	}
	
	return 0;
 } 

矩阵转置

程序先输入两个整数m, n(1<=m,n<=50),分别表示矩阵的行数和列数,然后输入m行n列的矩阵A。

输出描述

输出矩阵A的转置矩阵AT。

用例输入 1 

3  4
1 2 3 4
5 6 7 8
4 6 7 9

用例输出 1 

1 5 4 
2 6 6 
3 7 7 
4 8 9 

原地转置–把矩阵补充为一个行数列数相等的矩阵

#include
int main()
{
	int a[100][100];
	int m,n;
	int i,j;
	int temp;
	scanf("%d %d",&m,&n);
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			if(m<=n)
			{
				if(i=n)
			{
				if(i>=j)
				{
					temp=a[i][j];
					a[i][j]=a[j][i];
					a[j][i]=temp;
				}
			}
		}
	}
    //转置输出,注意行列数转换
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j
本站无任何商业行为
个人在线分享 » 程序设计实践–4
E-->