加分!补充完成下面的程序实现矩阵转置

来源:百度知道 编辑:UC知道 时间:2024/05/18 05:56:18
#include<stdio.h>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
; //调用矩阵转置函数
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(j=0;j<N;j++)
for( ;i<N;i++)//设置数组中转置矩阵元素交换
{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}
}

给你改了一下程序,加分就不用了,呵呵.很简单的,数组作为函数参数传递的时候只要是数组名就可以了,因为数组名本身就是数组的首地址

#include<stdio.h>
#define N 3
int array[N][N];
void main()
{
//在主函数内声明被调函数
void convert(int array[][3]);
int i,j;
printf("输入数组:\n");
for(j=0;j<N;j++)
for(i=0;i<N;i++)
scanf("%d",&array[i][j]);
printf("\n");
for(j=0;j<N;j++)
{
for(i=0;i<N;i++)
printf("%d\t",array[i][j]);
printf("\n");
}
//调用矩阵转置函数
convert(array);
printf("\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d\t",array[i][j]);
printf("\n");
}
}
void convert(int array[][3])
{
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)//设置数组中转置矩阵元素交换
{
t=array[i][j];
array[i][