题解 | #矩阵交换#

矩阵交换

https://www.nowcoder.com/practice/ec44d4ff8c794b2f9205bdddbde96817

#include <stdio.h>
int main() 
{
    int n,m;
    scanf("%d %d",&n,&m);
    int i=0;
    int j=0;
    int arr[n][m];
    //输入
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    int cnt=0;
    scanf("%d",&cnt); //改变次数
    char ch;
    int x,y;
    int swap; //交换数
    for(i=0;i<cnt;i++)
    {
        //getchar(); 
        //getchar只吸收掉前面一次输入的换行,注意只有一次
        //在后面加scanf前面多加个空格,可以预防多次
        scanf(" %c %d %d",&ch,&x,&y);
        //修改
        if(ch =='r') //行变换
        {
            for(j=0;j<m;j++)  //不要用i
            {
                swap=arr[x-1][j];
                arr[x-1][j]=arr[y-1][j];
                arr[y-1][j]=swap;
            }
        }
        else if(ch =='c') //列变换
        {
            for(j=0;j<n;j++)  //不要用i
            {
                swap=arr[j][x-1];
                arr[j][x-1]=arr[j][y-1];
                arr[j][y-1]=swap;
            }
        }
    }
    //输出
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%d ",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

全部评论

相关推荐

头像
02-26 13:58
门头沟学院 Java
烤点老白薯:他已经混出来了 所以可以站在一个高度上PUA我们 我们却还在底层挣扎
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务