矩阵旋转

 

 矩阵的特殊角旋转:0   90   180   270

#include<stdio.h>
#include<string.h>
int main ()
{
    int T, n, m, i, j, k;
    char s[100][100];
    scanf("%d", &T);
    while (T--)
    {
        scanf("%d %d", &n, &m);
        for (i = 0; i < n; i++)
            scanf("%s", s[i]);
        scanf("%d", &k);
        if (k == 0)
        {
            for (i = 0; i < n; i++)
            {
                for (j = 0; j < m; j++)
                {
                    if (j != m-1)
                        printf("%c", s[i][j]);
                    else
                        printf("%c
", s[i][j]);
                }
            }
        } //旋转角为0时
        else if (k == 90)
        {
            for (i = 0; i < m; i++)
            {
                for (j = n-1; j >= 0; j--)
                {
                    if (j != 0)
                        printf("%c", s[j][i]);
                    else
                        printf("%c
", s[j][i]);
                }
            }
        } //旋转角为90时
        else if (k == 180)
        {
            for (i = n-1; i >= 0; i--)
            {
                for (j = m-1; j >= 0; j--)
                {
                    if (j != 0)
                        printf("%c", s[i][j]);
                    else
                        printf("%c
", s[i][j]);
                }
            }
        } //旋转角为180时
        else if (k == 270)
        {
            for (j = m-1; j >= 0; j--)
            {
                for (i = 0; i < n; i++)
                {
                    if (i != n-1)
                        printf("%c", s[i][j]);
                    else
                        printf("%c
", s[i][j]);
                }
            }
        } //旋转角为270时
    }
    return 0;
}
原文地址:https://www.cnblogs.com/syhandll/p/4441117.html