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

 我来答
何度千寻
推荐于2016-04-30 · TA获得超过5896个赞
知道大有可为答主
回答量:1381
采纳率:91%
帮助的人:530万
展开全部
void Trans(int *matrix[][])
{
    for(int i=0;i<3;i++)
    for(int j=0;j<i;j++)
    {
        int t=matrix[i][j];
        matrix[i][j]=matrix[j][i];
        matrix[j][i]=t;
    }
}

对一个矩阵进行转置,只需要对其下三角部分进行处理,即第一行不处理,第二行处理第一个,第三行处理第1和第2个,以此类推。

素朗剑琳怡
2020-01-18 · TA获得超过3701个赞
知道小有建树答主
回答量:3121
采纳率:27%
帮助的人:199万
展开全部
#include<stdio.h>
void
fun(int
a[3][3])
{
for(int
i=0;i<3;i++)
for(int
j=0;j<3;j++)
if(i<j)
{
int
tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
void
main()
{
int
a[3][3]={{0,1,2},{3,4,5},{6,7,8}};
fun(a);
for(int
i=0;i<3;i++)
for(int
j=0;j<3;j++)
printf("%d
",a[i][j]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
螽斯宇
2020-05-27
知道答主
回答量:3
采纳率:0%
帮助的人:1703
展开全部
#include<stdio.h>
void f(int a[3][4],int b[4][3],int x,int y)
{
int i,j;
printf("The data in a:\n");
for(i=0;i<x;i++)
{ for(j=0;j<y;j++)
{ printf("%5d",a[i][j]);
b[j][i]=a[i][j];}
printf("\n");
}
printf("The data in b:\n");
for(i=0;i<y;i++)
{ for(j=0;j<x;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}
void main()
{
int i=3,j=4,b[4][3];
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
f(a,b,3,4);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BrotherAnt
推荐于2016-07-16 · TA获得超过154个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:121万
展开全部
#include<stdio.h>

void fun(int a[3][3])
{
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
if(i<j)
{
int tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}

}

void main()
{
int a[3][3]={{0,1,2},{3,4,5},{6,7,8}};
fun(a);

for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
printf("%d ",a[i][j]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式