
题目
解决代码及点评
/************************************************************************/
/*
4. 写一函数,使给定的一个二维数组(3×3)转置,即行列互换。
*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
// 转置就是a[i][j]和a[j][i]交换即可
void main()
{
int arr[3][3]={0};
for (int i=0;i<3;i++) // 初始化矩阵
{
for (int j=0;j<3;j++)
{
arr[i][j]=rand()%100;
}
}
for (int i=0;i<3;i++) // 打印矩阵
{
for (int j=0;j<3;j++)
{
printf("%5d",arr[i][j]);
}
printf("\n");
}
for (int i=0;i<3;i++) // 转置矩阵,就是让a[i][i]与a[j][i]交换
{
for (int j=i+1;j<3;j++)
{
int temp=arr[i][j];
arr[i][j]=arr[j][i];
arr[j][i]=temp;
}
}
printf("\n");printf("\n");printf("\n");
for (int i=0;i<3;i++) // 打印转置后的结果
{
for (int j=0;j<3;j++)
{
printf("%5d",arr[i][j]);
}
printf("\n");
}
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果