欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

矩阵的转置

程序员文章站 2024-01-03 21:38:34
...


一、问题描述

题目描述:
有一个n行m列的矩阵,编写程序输出转置后的矩阵(将矩阵的行列互换得到的新矩阵称为转置矩阵)


输入描述:
第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)

从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。

输出描述:
输出m行n列,为矩阵转置后的结果。每个数后面有一个空格


二、解题思路

1、定义整形变量n(行),m(列)
2、定义整型二维数组a[10][10]存放数据
3、利用双层循环输入、输出
4、理解原矩阵与转置矩阵之间元素的关系
矩阵的转置

三、代码实现

1.读入数据

代码如下:

    int n=0,m=0;
    int a[10][10];
    scanf("%d%d",&h,&l);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }

2.输出数据

代码如下:

for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            printf("%d ",a[j][i]);
        }
        printf("\n");
    }

3.完整代码

代码如下(示例):

#include "stdio.h"
int main()
{
    int n=0,m=0;
    int a[10][10];
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            printf("%d ",a[j][i]);
        }
        printf("\n");
    }
    return 0;
}

总结

转置矩阵输出的关键是理解原矩阵元素与转置矩阵元素之间的关系

相关标签: c语言

上一篇:

下一篇: