输入一个n*n的字符矩阵,把它逆时针旋转90度后输出

使用齐次坐标,变换矩阵

 
    
/*
输入一个n*n的字符矩阵,把它逆时针旋转90度后输出:

经计算n*n方阵旋转90度的变换矩阵为:
0, 1, 0, 0, -1, 0
-1, 0, 0, 其逆矩阵为, 1, 0, 0
n-1, 0, 1 0, n-1, 1
*/
#include
< stdio.h >
#define N 4
char m[N][N] = {
{
' a ' , ' b ' , ' c ' , ' d ' },
{
' e ' , ' f ' , ' g ' , ' h ' },
{
' i ' , ' j ' , ' k ' , ' l ' },
{
' m ' , ' n ' , ' o ' , ' p ' }
};

int main(){
int i, j;
for (i = 0 ; i < N; ++ i){
for (j = 0 ; j < N; ++ j)
printf(
" %c " , m[j][N - 1 - i]);
printf(
" \n " );
}
return 0 ;
}

转载于:https://www.cnblogs.com/liyongmou/archive/2011/03/04/1970981.html

你可能感兴趣的:(输入一个n*n的字符矩阵,把它逆时针旋转90度后输出)