C语言矩阵转置

标题: 7、矩阵转置
时 限: 1000 ms
内存限制: 10000 K
总时限: 3000 ms
描述: 设计一个函数,将任意n×n的矩阵转置,并在主函数中调用此函数实现n×n矩阵的转置。
输入: n×n的矩阵
输出: 转置后的n×n的矩阵
输入样例: 3
1 2 3
4 5 6
7 8 9
输出样例: 1 4 7
2 5 8
3 6 9
提示:
来源:

//经过vc6调试成功
void transferMat(int a[] , int b[], int n) //a表示待转置的矩阵,b表示输出矩阵,n表示元素个数
{
int i,j;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
b[j,i]=a[i,j];
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-05
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define MAX 20

int main()
{
int i,j,n;
int data[MAX][MAX];
int temp;

scanf("%d",&n);
for (i=0;i<n;i++)
for (j=0;j<n;j++)
scanf("%d",&data[i][j]);

for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%d ",data[i][j]);
printf("\n");
}

for (i=0;i<n;i++)
for (j=0;j<i;j++)
{
temp=data[i][j];
data[i][j]=data[j][i];
data[j][i]=temp;
}

for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
printf("%d ",data[i][j]);
printf("\n");
}
getch();
return 0;
}


相似回答