矩阵翻转111111111111

矩阵翻转111111111111

问题描述:

题目描述

现有一n行m列的矩阵,根据要求对其进行上下翻转或左右翻转。

矩阵示意图
矩阵示意图

输入描述:

第一行为两个不大于100的正整数n和m,以及一个大写字母A或B。A代表要进行上下翻转,B代表要进行左右翻转。第二行起为n行m列的矩阵,其中的数字均为不大于100的正整数,同一行内以空格分隔。

输出描述:

翻转后的矩阵,数字之间以空格分隔。

输入样例:

4 3 A
1 2 3
4 5 6
7 8 9
10 11 12
输出样例:

10 11 12
7 8 9
4 5 6
1 2 3

代码示例如下
有帮助望采纳~

img

#include <stdio.h>

int main(int argc, char const *argv[])
{
    int a, b;
    char mode;
    scanf("%d%d %c", &a, &b, &mode);
    int c[a][b];
    for (int i = 0; i < a; i++)
    {
        for (int j = 0; j < b; j++)
        {
            scanf("%d", &(c[i][j]));
        }
    }
    if (mode == 'A')
    {
        for (int i = a - 1; i >= 0; i--)
        {
            for (int j = 0; j < b; j++)
            {
                printf("%d ", c[i][j]);
            }
            printf("\n");
        }
    }
    else
    {
        for (int i = 0; i < a; i++)
        {
            for (int j = b - 1; j >= 0; j--)
            {
                printf("%d ", c[i][j]);
            }
            printf("\n");
        }
    }
};

1