c语言编程

c语言编程,将n阶正方矩阵进行转置的函数。在主函数中对一个4行4列的矩阵调用此函数。用指针方法实现。


#include <stdio.h>



void Reverse(int (*arr)[4], int row, int col)

{

int i;

int j;

int temp;


for (i = 0; i < row; i++)

{

for (j = 0; j < i; j++)

{

temp = arr[i][j];

arr[i][j] = arr[j][i];

arr[j][i] = temp;

}

}

}


void Show(int (*arr)[4], int row, int col)

{

int i;

int j;


for (i = 0; i < row; i++)

{

for (j = 0; j < col; j++)

{

printf("%5d", *(*(arr + i) + j));

}

printf("\n");

}

printf("\n");

}



int main()

{

int arr[][4] = {

{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12},

{13, 14, 15, 16}

};

Show(arr, 4, 4);

Reverse(arr, 4, 4);

Show(arr, 4, 4);

return 0;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-06
#include <stdio.h>main(){ int zhuan (int a[4][4]); int i,j,a[4][4]; for(i=0;i<4;i++) { for(j=0;j<4;j++) scanf("%d",&a[i][j]);} zhuan(a); }int zhuan (int a[4][4]){ int i,j; for(i=0;i<4;i++) {for(j=0;j<4;j++) printf("%d",a[j][i]); printf("\n");}}追问

额,要用指针

相似回答