编写函数将一个nxn的二维矩阵按下面要求转置。例如:原来有3x3的矩阵:

编写函数将一个nxn的二维矩阵按下面要求转置。例如:原来有3x3的矩阵:123转置后为:963456852789741... 编写函数将一个nxn的二维矩阵按下面要求转置。例如:原来有3x3的矩阵:
1 2 3 转置后为: 9 6 3
4 5 6 8 5 2
7 8 9 7 4 1
展开
 我来答
若影蜗牛
2011-04-23 · TA获得超过813个赞
知道小有建树答主
回答量:577
采纳率:0%
帮助的人:570万
展开全部
就是将矩阵逆时针旋转90度~然后交换8 2 和1 4. 39
注意观察旋转后的矩阵和原矩阵的坐标关系~~有联系的~

#include "stdio.h"
#define N 3
int main()
{
int a[N][N], b[N][N];
int i = 0, j =0;
int temp = 0;

/*初始化a,b数组*/
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
scanf("%d",&a[i][j]);

}
}

/*向左旋转90度*/
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
b[i][j] = a[j][N - i -1];
}
}

for ( i = 0; i < N; i++)
{
temp = b[i][0];
b[i][0] = b[i][2];
b[i][2] = temp;
}
/*输出b数组*/
printf("\n");
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
printf("%-3d",b[i][j]);
}
printf("\n");
}

getchar();
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式