您的位置:首页 > 其它

对3*3的二维数组进行转置(行列互换)

2009-07-01 23:27 302 查看
#include <stdio.h>
#define N 3
void main()
{
void convert(int array[]
);

int i,j,array

;
printf("请为数组赋值:");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
printf("初始数组如下:/n");
for(i=0;i<N*N;i++)
{
printf("%d  ",*(array[0]+i));//*(*array+i)
if((i+1)%3==0) printf("/n");
}

convert(array);//convert(*(array+0)+0)、convert(*array)、convert(*array+0)

printf("/n新数组如下:/n");
for(i=j=0;i<N*N;i++)
{
printf("%d  ",*(*array+i));//*(array[0]+i)
j++;
if(j%3==0) puts("");
}
}

void convert(int array[]
)//convert(int array

)
{
int i,j,temp;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
printf("函数中转置后的数组为:/n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d  ",array[i][j]);
putchar('/n');
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐