1 条题解

  • 0
    @ 2025-8-24 21:05:49

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar TensorFlow_js
    null

    搬运于2025-08-24 21:05:49,当前版本为作者最后更新于2021-07-04 12:25:55,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目分析

    只需使用 for 输入矩阵后交换行并输出即可。

    字符串解法

    #include<bits/stdc++.h>
    using namespace std;
    string jz[5]={"","","","",""};//定义字符串数组 jz (题目中的矩阵的行)
    int main(){
        for(int i = 0;i < 5;i ++)getline(cin,jz[i]);
        int a,b;cin>>a>>b;
        swap(jz[a-1],jz[b-1]);//使用STL函数 swap 交换
        for(int i = 0;i < 5;i ++)cout<<jz[i]<<endl;
        return 0;
    }
    

    二维数组解法 1

    #include<bits/stdc++.h>
    using namespace std;
    int jz[5][5];//定义整型数组 jz (题目中的矩阵)
    int main(){
        for(int i = 0;i < 5;i ++)for(int j = 0;j < 5;j ++)cin>>jz[i][j];
        int a,b;cin>>a>>b;
        swap(jz[a-1],jz[b-1]);//使用STL函数 swap 交换
        //这里 swap 是将一整个一维数组 jz[a-1] 与 jz[b-1] 进行了交换
        for(int i = 0;i < 5;i ++){for(int j = 0;j < 5;j ++)cout<<jz[i][j]<<' ';cout<<endl;}
        return 0;
    }
    

    二维数组解法 2(手打swap

    #include<bits/stdc++.h>
    using namespace std;
    int jz[5][5];//定义整型数组 jz (题目中的矩阵)
    int main(){
        for(int i = 0;i < 5;i ++)for(int j = 0;j < 5;j ++)cin>>jz[i][j];
        int a,b;cin>>a>>b;
        for(int i = 0;i < 5;i ++){int temp = jz[a-1][i];jz[a-1][i]=jz[b-1][i];jz[b-1][i]=temp;}//使用临时变量 temp 进行交换
        for(int i = 0;i < 5;i ++){for(int j = 0;j < 5;j ++)cout<<jz[i][j]<<' ';cout<<endl;}
        return 0;
    }
    

    UPD:

    2021\7\4\14:47 :重新排版。

    2021\7\4\15:35 :删除多余注释,加上空格,解释了二维数组解法 1 中 swap 的功能。

    • 1

    信息

    ID
    6956
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者