用二维数组实现矩阵转置

C 专栏收录该内容
15 篇文章 2 订阅

实例说明:
在这里插入图片描述
这里给出两套源码。

自己写的:

在这里插入图片描述

/**
 * Copyright (c) 1991 - 2016 Arvin Tang.
 * All rights reserved.
 *
 * 文件名称:实例12
 * 简要描述:二维数组的转置
 *
 * 当前版本:1.0
 * 作    者:
 * 完成日期:2016-1-7
 * 修订说明:
 *
 * 取代版本:
 * 作    者:
 * 完成日期:
 * 修订说明:
 */
#include <stdio.h>
#include <stdlib.h>
//
//clrscr();函数不是标准的C函数,只存在Tuber C中且#include <conio.h>。
//但是可以用system("cls");代替,且#include <stdlib.h>。

#define ROW 3//定义行
#define COL 4//定义列

int main(int argc, char const *argv[])
{
    //二维数组转换
    int a[ROW][COL];

    int i,j;

    printf("请输入一个%d行,%d列的矩阵:\n", ROW,COL);

    for(i = 0; i < ROW; i++)
    {
        for(j = 0; j < COL;j++)
        {
            scanf("%d", &a[i][j]);
        }
    }

    system("cls");//清屏

    printf("你刚才输入的是一个%d行,%d列的矩阵:\n", ROW,COL);

    for(i = 0; i < ROW; i++)
    {
        for(j = 0; j < COL;j++)
        {
            printf("%d\t", a[i][j]);
        }

        printf("\n");
    }

    printf("下面将为你转换为一个%d行,%d列的矩阵:\n", COL,ROW);

    for(i = 0; i < COL; i++)
    {
        for(j = 0; j < ROW; j++)
        {
            printf("%d\t", a[j][i]);
        }

        printf("\n");
    }

    return 0;
}

书上的:

/* 用二维数组实现矩阵的转置 */
#include <stdio.h>
#define ROW 3
#define COL 4
main()
{
    int matrixA[ROW][COL],matrixB[COL][ROW];
    int i,j;

    clrscr();
    printf("Enter elements of the matrixA,");
    printf("%d*%d:\n",ROW,COL);
    for( i=0; i<ROW; i++ )
    {
        for( j=0; j<COL; j++ )
        {
            scanf("%d",&matrixA[i][j]);
        }
    }

    for( i=0; i<ROW; i++ )
    {
        for( j=0; j<COL; j++ )
        {
            matrixB[j][i] = matrixA[i][j];
        }
    }

    printf("MatrixB,");
    printf("%d*%d:\n",COL,ROW);
    for( i=0; i<COL; i++ )
    {
        for( j=0; j<ROW; j++ )
        {
            printf("%8d",matrixB[i][j]);
        }
        printf("\n");
    }
    printf("\n  Press Any Key to Quit...  \n");
    getch();
}

原文:https://www.cnblogs.com/arvintang/p/5110264.html

  • 4
    点赞
  • 0
    评论
  • 23
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值