写一函数,使给定的一个二维数组(3×3)转置,即行列互换。

这是一个C++实验练习..小弟刚刚学,不会.请各位大虾多多指教下.要求用到两个以上的涵数... 这是一个C++实验练习..小弟刚刚学,不会.请各位大虾多多指教下.
要求用到两个以上的涵数
展开
 我来答
刺友互
高粉答主

2019-07-04 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:113万
展开全部

1、首先打开Eclipse。

2、新建一个新的Java工程。

3、新建一个Example8类文件。

4、创建2维数组。

5、创建一个输出2维数组的函数。

6、遍历数组,输出数组元素。

7、输出2维数组。

8、运行程序看看行列互换。

aoqijia
2007-05-25 · TA获得超过587个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:0
展开全部
#define N 3
int array[N][N];
void convert(int array[3][3]) /*函数类型可定义为void,也可用默认的int*/
{int i,j,t; /*因为函数形实参是数组,按地址传递*/
/*两个数组所用空间相同,函数无需返回值*/
for(i=0;i<N;i++)
for(j=i+1;j<N;j++) /* j=i+1防止两元素对调后再次恢复原位 */
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
main()
{
int i,j;
void convert(int [][]); /*注意此处的 [ ][ ] 形式,表明是二维数组*/
printf("Input array:\n"); /* 因为函数原型处仅检查形参个数、类型名、
for(i=0;i<N;i++) /* 顺序,而不检查形参名。所以只写成[ ][ ] 形式
for(j=0;j<N;j++) /* 即可。仅对void时如此,对int似乎不成立?*/
scanf("%d",&array[i][j]);
printf("\noriginal array:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
convert(array);
printf("convert array:\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者tddP56iiEZ
2020-05-05 · TA获得超过3728个赞
知道大有可为答主
回答量:3055
采纳率:32%
帮助的人:158万
展开全部
你的输入
输出格式都要按照它的标准
你的输出没有间隔
和换行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式