Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107710
  • 博文数量: 106
  • 博客积分: 2025
  • 博客等级: 大尉
  • 技术积分: 1165
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 12:51
文章分类

全部博文(106)

文章存档

2012年(106)

我的朋友

分类: C/C++

2012-05-07 17:12:31

8、数组的行列转置

思路:交换对应行列和列行的元素,注意只交换一半即可,否则相当于没有交换。

完整程序

#include

#define N 5

int main()

{

int a[N][N];

int i,j,t;

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

for(i=0;i

for(j=i+1;j

{

t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

for(i=0;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

return 0;

}

封装函数

void zhuanzhi(int a[][N])

{

int i,j,t;

for(i=0;i

for(j=i+1;j

{

t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

}

}

调用函数

#include

#define N 5

int main()

{

int a[N][N];

int i,j;

void zhuanzhi(int a[][N]);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

zhuanzhi(a);

for(i=0;i

{

for(j=0;j

printf("%d ",a[i][j]);

printf("\n");

}

return 0;

}

阅读(231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~