编写一函数fun,实现矩阵(3行3列)的转置(即行列互换)

有没有人在啊,想请讲解下,编写一函数fun,实现矩阵(3行3列)的转置(即行列互换)
最新回答
重拾记忆的爱

2024-05-19 18:30:18

#include<stdio.h>

#define N 3

int arry[N][N],b[N][N];

int main(){

void merg(int arry[3][3]);

int a[3][3],i,j;

for(i=0;i<N;i++)

for(j=0;j<N;j++){

scanf("%d",&arry[i][j]);

}

printf("原始的矩阵为:\n");

for(i=0;i<N;i++){

for(j=0;j<N;j++){

printf("%d ",arry[i][j]);

printf("\n"); 

}

printf("\n"); 

merg(arry);

printf("变换后的矩阵为:\n");

for(i=0;i<N;i++){

for(j=0;j<N;j++){

printf("%d ",b[i][j]);

printf("\n"); 

}

}

void merg(int arry[3][3]){

int i,j,temp;

for(i=0;i<N;i++)

for(j=0;j<N;j++){

b[j][i]=arry[i][j];

}

}

扩展资料:

for循环:

语句的一般形式为:

for (表达式1; 表达式2; 表达式3)
{
语句;
}

表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。

for(表达式1;表达式2;表达式3)的后面千万不要加分号。

执行过程:

求解表达式1。

求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。

求解表达式3。

转回上面第2步继续执行。

循环结束,执行 for 语句下面的语句。

多层 for 循环:

执行过程与单个 for 循环的执行过程是一模一样的。多层 for 循环将单个 for 循环大括号中的“语句”换成了 for 循环。

人生如梦梦如烟

2024-05-19 18:56:20

华录_起点 的回答是正确的,因为他的程序只处理了上三角。下面两位同僚的处理方式有点问题,因为后面又转回来了。
逍遥独淩迗

2024-05-19 01:06:18

void fun(int array[3][3])
{ int i,j,t;

for(i=0;i<3;i++)
for(j=0;j<3;j++)

{ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}

}
果味小可爱

2024-05-19 14:11:28

int fun(int array[3][3])

{ int i,j,t;

for(i=0;i<2;i++)

for(j=i+1;j<3;j++)

{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}

}
弃殇

2024-05-19 19:41:28

void reverse(int arr[3][3]){
int s;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
s = arr[i][j]; arr[i][j] = arr[j][i]; arr[j][i] = s;
}
}
}