标题:把一个二维数组行列互换,答案总出现非常大的数,求大神指教!~
取消只看楼主
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
结帖率:56.6%
 问题点数:0 回复次数:2 
把一个二维数组行列互换,答案总出现非常大的数,求大神指教!~
本人小白,把一个二维数组行列互换,下面是我的程序,但是输出的结果总是有问题,请大神帮忙指正!万分感谢!!!

#include<stdio.h>
int main()
{void bianhuan(int a[3][3]);
int i,j;
int a[3][3];
printf("输入一个二维数组:\n");
for(i=0;i<3;i++)
 for(j=0;j<3;j++)
     scanf("%d",&a[i][j]);

printf("\n原始数组是:\n");
 for(i=0;i<3;i++)
 {for(j=0;j<3;j++)
     printf("%5d",a[i][j]);
 printf("\n");}   

bianhuan(a);

printf("please output 转换后的数组:\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
     printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}


void bianhuan(int a[3][3])
{int i,m,j,t;
for(i=0;i<3;i++)
  for(j=i+1;j<3;j++)
  {m=a[i][j];
  a[i][j]=a[j][i];
  a[j][i]=t;}
}
搜索更多相关主题的帖子: please include 
2016-09-25 15:47
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
得分:0 
回复 2楼 ehszt
万分感谢!
void bianhuan(int a[3][3])
{int i,m,j;
int b[3][3];
for(i=0;i<3;i++)
  for(j=0;j<3;j++)
  b[j][i]=a[i][j];
}
请问大神,如果我想通过引入一个新的数组b[3][3]来吧a[3][3]转制后的数组存放起来,在这个定义函数出怎么修改才能让这个函数返回b数组?
2016-09-25 16:18
troyzyc
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2016-7-4
得分:0 
回复 4楼 ehszt
能举个例子吗?难道是说都改成这样void bianhuan(int a[3][3],int b[3][3])?但是输出的还是a[3][3]数组呀?!
2016-09-25 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469178-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.088552 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved