导读:C编程写一个函数,使给定的一个二维数组(3*4)进行转置,即行列在、互换,并输出转置前后的结果.(函数) ZHWLSTK 1年前他留下的回答 已收到1个回答 柳攀花 春芽...
C编程写一个函数,使给定的一个二维数组(3*4)进行转置,即行列在、互换,并输出转置前后的结果.(函数)
ZHWLSTK
1年前他留下的回答
已收到1个回答
柳攀花
春芽
该名网友总共回答了21个问题,此问答他的回答如下:采纳率:95.2%
[j] [i]=a[i] [j]这就是实现矩阵转置了.i行j列与j行i列进行交换,使用中间变量来实现交换值.
1年前他留下的回答
追问
5
ZHWLSTK
float f(int b[4][3]) { int i,j,t; int a[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) a[i][j]=i+j; for(i=0;i<4;i++) for(j=0;j<3;j++) b[i][j]=a[j][i]; for(i=0;i<4;i++) for(j=0;j<3;j++) t=b[i][j]; return(t); } void main() { int i,j,t; t=f(t); printf("%d",t); }
柳攀花
那个t=f(t)写错了,t不是一个数组,所以你传给f函数的参数有误,另外printf()这样写,是无法输出数组结果的。
ZHWLSTK
你用我的方法编出来这哥函数撒
柳攀花
额,我都搞不明白你的函数错误的地方太多!t变量定义成啥样!如果你光是要输出转置那就直接做啦。 连那个#include
都漏掉了!!!!!! 我改过之后的代码: #include void main() { int i=0,j=0,t[4][3]; for(i=0;i<4;i++) { for(j=0;j<3;j++) scanf("%d",&t[i][j]); } //t=f(t[4][3]); for(i=0;i<3;i++) { printf("n"); for(j=0;j<4;j++) { printf("%d ",t[j][i]); } } } 以上就是小编为大家介绍的C编程写一个函数,使给定的一个二维数组(3*4)进行转置,即行列在、互换,并输出转置前后的结果.(函数) 的全部内容,如果大家还对相关的内容感兴趣,请持续关注上海建站网!
标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。上海建站网对此不承担任何相关连带责任。上海建站网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!