矩阵旋转

#include<stdio.h>
#include<string.h>
#define N 60
int n, m;
 
void slove1(char s[][60])
{
    int i, j;
    for(i = 1; i <= n ; i++)
    {
        for(j = 1 ; j <= m ; j++)
            printf("%c", s[i][j]);
        printf("\n");
    }
}
void slove2(char s[][60])
{
    int i , j;
    for(j = 1 ; j <= m ; j++)
    {
        for(i = n ; i >= 1 ; i--)
            printf("%c", s[i][j]);
        printf("\n");
    }
}
 
void slove3(char s[][60])
{
    int i, j;
    for(i = n ; i >= 1 ; i--)
    {
        for(j = m ; j >= 1 ; j--)
            printf("%c", s[i][j]);
        printf("\n");
    }
}
 
void slove4(char s[][60])
{
    int i, j;
    for(j = m ; j >= 1 ; j--)
    {
        for(i = 1 ; i <= n ; i++)
            printf("%c", s[i][j]);
        printf("\n");
    }
}
int main()
{
    int t, i, j, x;
    char s[N][N];
    scanf("%d", &t);
    while(t--)
    {
        scanf("%d%d", &n, &m);
        getchar();
        for(i = 1 ; i <= n ; i++)
        {
            for(j = 1 ; j <= m ; j++)
                scanf(" %c", &s[i][j]);
        }
        scanf("%d", &x);
        if(x == 0)
            slove1(s);
        else if(x == 90)
            slove2(s);
        else if(x == 180)
            slove3(s);
        else if(x == 270)
            slove4(s);
    }
    return 0;
}

 

posted @ 2015-04-20 11:52  午夜阳光~  阅读(145)  评论(0编辑  收藏  举报