C语言课后习题(60)

谭浩强C语言第五版的一些课后习题

第八章 第九题

 3×3矩阵转置

int main(){
	void move(int *p1);
	int a[3][3];
	printf("输入3行3列的矩阵:\n");
	int i,*p;
	for(i=0;i<3;i++){
		scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
	}
	p=&a[0][0];//将第一个元素的地址赋给指针p
	printf("原矩阵为:\n");
	for(i=0;i<3;i++){
		printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
	}
	move(p);
	printf("\n移动后的矩阵为:\n"); 
	for(i=0;i<3;i++){
		printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
	}
}
void move(int *p1){
	int i,j,t;
	for(i=0;i<3;i++){
		for(j=i;j<3;j++){
			t=*(p1+3*i+j);
			*(p1+3*i+j)=*(p1+3*j+i);
			*(p1+3*j+i)=t;
		}
	}
}


版权声明:本文为weixin_44572229原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。