用指针实现将一个3*3的整型矩阵转置。
要求定义并调用函数void move(int *pointer),实现上述矩阵转置的功能。
输出格式:每行数据之间以空格分隔,最后一个数据后面没有空格
样例">样例">样例">样例">样例">样例">样例">样例">样例">样例">样例">输入样例:
1 2 3
4 5 6
7 8 9
输出样例:
1 4 7
2 5 8
3 6 9
问题分析:
转置矩阵过程中只需要转置矩阵的一半即可,转置矩阵是以a11,a22.......ann元素所在的对角线为对称轴的,在转置过程中需要两层循环外循环控制行内循环控制列,故从第一行第一列开始 故外层循环初始条件int i=0;内层循环初始条件int j=0;由于只需要转置一半所以j不能大于i这样当循环完毕后下面元素就换到上面,而上面元素在换下面元素时被换到了下面,所以只需要遍历一般元素即可。 k=pointer[i][j];
pointer[i][j]=pointer[j][i];
pointer[j][i]=k;
实现行列坐标的转换;
代码实现
#include<stdio.h>
void move(int pointer[][3]){
int k;
for(int i=0;i<3;i++){
for(int j=0;j<i;j++){
k=pointer[i][j];
pointer[i][j]=pointer[j][i];
pointer[j][i]

博客介绍了用C语言指针实现3*3整型矩阵转置的方法。要求定义并调用函数void move(int *pointer)完成转置,分析了转置过程只需处理矩阵一半元素,通过两层循环实现行列坐标转换,还给出了代码实现及提交结果相关内容。
最低0.47元/天 解锁文章
429

被折叠的 条评论
为什么被折叠?



