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

时间:2024-03-11 09:17:06

使用齐次坐标,变换矩阵

/*
输入一个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;
}