将一个3x3的整型二维数组转置,用一函数实现之,在主函数中用scanf函数输入数组元素

(1)将数组0行0列元素的地址作为函数实参,在执行函数的过程中实现行列互换,函数调用结束后在主函数中输出已转置的二维数组。(1)将数组0行的地址作为函数实参,在执行函数的... (1) 将数组0行0列元素的地址作为函数实参,在执行函数的过程中实现行列互换,函数调用结束后在主函数中输出已转置的二维数组。
(1) 将数组0行的地址作为函数实参,在执行函数的过程中实现行列互换,函数调用结束后在主函数中输出已转置的二维数组。
展开
 我来答
xoaxa
推荐于2016-10-17 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3479万
展开全部
#include <stdio.h>
const int N = 3;

void Transpose(int *a,int n) {
int i,j,t;
for(i = 0; i < n - 1; ++i) {
for(j = i + 1; j < n; ++j) {
t = *(a + n * i + j);
*(a + n * i + j) = *(a + n * j + i);
*(a + n * j + i) = t;
}
}
}

void Show(int a[][N]) {
int i,j;
for(i = 0; i < N; ++i) {
for(j = 0; j < N; ++j)
printf("%d ",a[i][j]);
printf("\n");
}
}

int main() {
int a[N][N] = {1,2,3,4,5,6,7,8,9};
printf("原始矩阵:\n");
Show(a);
Transpose(&a[0][0],N);
printf("转置后:\n");
Show(a);
Transpose(a[0],N);
printf("再转置后:\n");
Show(a);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式