请用C语言编程:用自定义函数将一方阵在原数组中转置

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:26:39

#include<stdio.h>
#include<stdlib.h>

int main()
{
int a[3][3],i,j,b[3][3];
for(i=0;i<=2;i++)
{for (j=0;j<=2;j++)
scanf("%d",&a[i][j]);}
for(i=0;i<=2;i++)
{for(j=0;j<=2;j++)
{printf("%d ",a[i][j]);
b[j][i]=a[i][j]; }
printf("\n");}

printf("\n\n");

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

void Transpose(int *Array; int Size)
//Array 数组首地址
//Size 容量
{
int i;//行
int j;//列
int temp;//临时变量

for(i=0;i<Size;i++)
for(j=i+1;j<Size;j++)
//上三角,不包含对角线
{
temp=*(Array+Size*i+j);
*(Array+Size*i+j)=*(Array+Size*j+i);
*(Array+Size*j+i)=temp;
}

}