指针实现写一个函数,将一个3×3的整数矩阵转置

任务描述

本关任务: 指针实现写一个函数,将一个3×3的整数矩阵转置。

相关知识

为了完成本关任务,你需要掌握: 1.矩阵的转置算法; 2.二维数组的定义; 3.二维数组的指针; 4.函数的定义、调用及参数传递。

矩阵的转置算法

见第5章编程习题4

二维数组的定义

见教材

二维数组的指针

见教材

函数的定义、调用及参数传递

见教材

编程要求

1.编写函数move(int *point),其中形参指针point指向二维数组a[0][0],实现二维数组的转置; 2.编写主函数,完成: (1)定义和初始化好二维数组; (2)调用move函数实现矩阵的转置; (3)显示转置的后的二维矩阵; (4)根据提示,在编辑器补充代码,实现本关功能。

测试说明

原始矩阵为:

1 2 3

4 5 6

7 8 9

转置后矩阵为:

1 4 7

2 5 8

3 6 9

#include<stdio.h>
void move(int (*p)[3])
{
	int i,j,temp;
    for(i=0;i<3;i++)
	 for(j=0;j<i;j++)
	 {
 		temp=*(*(p+i)+j);
 		*(*(p+i)+j)=*(*(p+j)+i);
 		*(*(p+j)+i)=temp;
 	 }
}
int main()
{
	int a[3][3];
	int (*p)[3],i,j,temp;
	p=a;
	for(i=0;i<3;i++)
	 for(j=0;j<3;j++)
	 scanf("%d",&a[i][j]);
     move(p);
    for(i=0;i<3;i++)
     {
     	for(j=0;j<3;j++)
	    printf("%5d ",*(*(p+i)+j));
     	printf("\n");
     } 
	 return 0; 
}

  • 14
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值