zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言矩阵翻转输出

C语言输出 矩阵 翻转
2023-09-27 14:26:25 时间

在这里插入图片描述输入格式

测评机会反复运行你写的程序。每次程序运行时,首先在第一行输入 2 个整数,分别对应题目描述中的 m 和 nnn(1≤m,n≤100),两个整数之间用一个空格分隔。

接下来输入 m 行,每行包含 n 个整数,每两个整数之间用一个空格分隔。

接下来输入一行,输入一个整数为1或0。当输入为1时对矩阵进行水平翻转;当输入为0时对矩阵进行竖直翻转。
输出格式

输出包括 m 行,每行包含 n 个整数,按要求输出翻转后的矩阵,每行任意两个整数之间用一个空格分隔,每行最后一个整数后面没有空格。

#include <stdio.h>

int main() {
    int matrix[100][100];
    int m;
    int n;
    int choice;
    int i,j;
    scanf("%d %d\n",&m,&n);
    for(int i = 0; i < m; i++){
        for(int j = 0; j < n; j++){
            scanf("%d ",&matrix[i][j]);
        }
        scanf("\n");
    }
    
    scanf("%d\n",&choice);
    
 
    
    if(choice == 0){
        for( i = 0; i< m/2; i++){
           for( j = 0; j < n; j++){
            int temp = matrix[i][j];
            matrix[i][j] = matrix[m-1-i][j];
            matrix[m-1-i][j] = temp;
            } 
           
         }    
    }
    if(choice == 1){
        for( i = 0; i < m; i++){
            for( j = 0; j <n/2; j++){
                int temp = matrix[i][j];
                matrix[i][j] = matrix [i][n-1-j];
                matrix[i][n-1-j] = temp;
               
            }
        }
         
    }
    for( i = 0; i < m; i++){
            for( j = 0; j < n; j++){
                  printf("%d",matrix[i][j]);
                if(j!=n-1) printf(" ");
            }printf("\n");
    }
    return 0;
}