用WIN32控制台编写3阶或5阶方阵翻转90度或180度
(使用VS2019)
一、选择控制台应用并点击创建
二、三阶矩阵
添加#define uchar unsigned char定义类型
uchar A[5][5] = {{1,0,0,},{0,1,0,},{1,0,1}};
uchar A_T[3][3], B[3][3], C[3][3];
int i, j;
printf("原矩阵为:\n");
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",A[i][j]);
A_T[i][j]=A[j][i];
}
printf("\n");
}
printf("转置后矩阵为:\n");
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",A_T[i][j]);
}
printf("\n");
}
printf("逆时针旋转90矩阵为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
B[i][j]=A_T[2-i][j];
printf("%d\t",B[i][j]);
}
printf("\n");
}
printf("顺时针旋转90矩阵为:\n");
for (i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
C[i][j]=A_T[i][2-j];
printf("%d\t",C[i][j]);
}
printf("\n");
}
三、五阶矩阵
uchar A[5][5]={{1,0,0,1,0},{0,1,0,0,1},{1,0,1,0,1},{0,0,1,1,1}};
uchar A_T[5][5],B[5][5],C[5][5];
int i,j;
printf("原矩阵为:\n");
for (i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d\t",A[i][j]);
A_T[i][j]=A[j][i];
}
printf("\n");
}
printf("转置后矩阵为: \n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%d\t",A_T[i][j]);
}
printf("\n");
}
printf("逆时针旋转90矩阵为:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
B[i][j]=A_T[4-i][j];
printf("%d\t",B[i][j]);
}
printf("\n");
}
printf("顺时针旋转90矩阵为:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
C[i][j]=A_T[i][4-j];
printf("%d\t",C[i][j]);
}
printf("\n");
}