<span style="font-size:18px;">#include <stdio.h>
#include <time.h>
#define N 4
void zhuanzhi(int (*p)[N])
{
int i,j,temp;
for(i = 0;i < N;i++) //转置
{
for(j = i;j < N;j++) //取上三角进行转置
{
temp = p[i][j]; //行列转换
p[i][j] = p[j][i];
p[j][i] = temp;
}
}
}
int main()
{
int a[N][N]; //定义数组方阵
int i,j,temp;
srand(time(NULL));//初始化
for(i = 0;i < N;i++)
{
for(j = 0;j <N;j++)
a[i][j] = rand() % 100;//产生的随机数小于100
}
printf("随机产生的数列:\n");
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
//未封装成函数
/* for(i = 0;i < N;i++) //转置
{
for(j = 0;j < i;j++) //取下三角进行转置
{
temp = a[i][j]; //行列转换
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
*/
zhuanzhi(a);
printf("转置后的数列:\n");
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
</span>
矩阵转置(函数版)
最新推荐文章于 2024-03-10 23:47:14 发布