展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,M,N;
int *a,*b;
scanf("%d%d",&M,&N);
a=(int*)malloc(sizeof(int)*M*N); //原矩阵
b=(int*)malloc(sizeof(int)*M*N); //转置矩阵
for(i=0;i<M*N;i++)
{
scanf("%d",a+i);
}
//转置方法:将第i行元素与第i列元素进行交换
for(i=0;i<M;i++)
for(j=0;j<N;j++)
{
b[j*M+i]=a[i*N+j];
}
printf("\n");
for(i=0;i<M*N;i++)
{
printf("%d ",b[i]);
if((i+1)%M == 0)
printf("\n");
}
free(a);
free(b);
return 0;
}
//运行结果截图
追问
ok
追答
什么意思?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询