#include <stdio.h>
#include<stdlib.h>
void fun(int array[3][3])
{
/********** Begin **********/
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
int array[j][i]=array[i][j];
/********** End ***********/
}
void NONO( )
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
int i,j;
FILE *wf ,*in;
int array[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
in=fopen("a11.in","r");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
fscanf(in,"%d",&array[i][j]);
}
wf = fopen("a11.out", "w") ;
fun(array);
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
fprintf(wf,"%7d\n",array[i][j]);
}
fclose(wf) ;
fclose(in);
}
int main()
{
int i,j;
int array[3][3]={{100,200,300},
{400,500,600},
{700,800,900}};
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for(i=0;i<3;i++)
{ for(j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
NONO( );
system("pause");
return 0;
}
转置函数修改如下,供参考:
void fun(int array[3][3])
{
/********** Begin **********/
int i,j,tmp;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
{tmp=array[i][j];array[i][j]=array[j][i];array[j][i]=tmp;}
/********** End ***********/
}