题解 | 矩阵交换

矩阵交换

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

#include <stdio.h>

int main() {
    int m = 0;
    int n = 0;
    scanf("%d %d",&m,&n);
    int arr[m][n];

    for (int i = 0; i < m; i++) 
    {
        for (int j = 0; j < n; j++) 
        {
            scanf("%d",*(arr+i)+j);        
        }
    
    }

    int k = 0;
    scanf("%d",&k);
    char moji[k][3];
    for (int i = 0; i < k; i++) 
    {
        for (int j = 0; j < 3; j++) 
        {
            scanf(" %c",&moji[i][j]);        
        }
            
    }

    for (int i = 0; i < k; i++) 
    {
        
        if (moji[i][0] == 'r') 
        {
            for (int j = 0; j < n; j++) 
            {
                int temp = 0;
                temp = arr[moji[i][1] - '1'][j];
                arr[moji[i][1] - '1'][j] = arr[moji[i][2] - '1'][j];
                arr[moji[i][2] - '1'][j] = temp;       
            }
            
        }

        else if (moji[i][0] == 'c') 
        {
            for (int j = 0; j < m; j++) 
            {
                int temp = 0;
                temp = arr[j][moji[i][1] - '1'];
                arr[j][moji[i][1] - '1'] = arr[j][moji[i][2] - '1'];
                arr[j][moji[i][2] - '1'] = temp;       
            }
        
        }        
                  
    }

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

    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务