#include <stdio.h>
int main()
{ struct aaa
{ int x
int y
}
struct aaa t,a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2}
int i,j
for(i=0i<3i++)
{ for(j=0j<3j++)
printf("[%d,%d] ",a[i][j].x,a[i][j].y)
printf("\n")
}
printf("after:\n")
for(i=0i<3i++)
for(j=0j<ij++)
{ t=a[i][j]
a[i][j]=a[j][i]
a[j][i]=t
}
for(i=0i<3i++)
{ for(j=0j<3j++)
printf("[%d,%d] ",a[i][j].x,a[i][j].y)
printf("\n")
}
return 0
}
或:
#include <stdio.h>
struct aaa
{ int x
int y
}
void zhuanzhi(struct aaa a[][3])
{ struct aaa t
int i,j
for(i=0i<3i++)
for(j=0j<ij++)
{ t=a[i][j]
a[i][j]=a[j][i]
a[j][i]=t
}
}
void prt(struct aaa a[][3])
{ int i,j
for(i=0i<3i++)
{ for(j=0j<3j++)
printf("[%d,%d] ",a[i][j].x,a[i][j].y)
printf("\n")
}
}
int main()
{ struct aaa a[3][3]= {0,0,0,1,0,2,1,0,1,1,1,2,2,0,2,1,2,2}
prt(a)
zhuanzhi(a)
printf("after:\n")
prt(a)
return 0
}
#include "stdio.h"void main()
{
void zhuan(int array[2][3],int b[3][2])
int array[2][3],b[3][2]int i,j
printf("input:\n")
for(i=0i<2i++)
for(j=0j<3j++)
{
scanf("%d",&array[i][j])
}
printf("\n")
zhuan(array,b)
printf("\n")
for(i=0i<3i++)
{
for(j=0j<2j++)
printf("%d",b[i][j])
printf("\n")
}
}
void zhuan(int array[2][3],int b[3][2]) //转置函数逻辑错误,没那么麻烦,直接转就是了!
{
int i,j
for(i=0i<2i++)
for(j=0j<3j++)
{
b[j][i]=array[i][j]
}
}