南阳oj 题目29 求转置矩阵问题

求转置矩阵问题

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 2
描述
求一个三行三列的转置矩阵。
输入
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;
输出
每组测试数据的转置矩阵;
请在每组输出之后加一个换行
样例输入
2
1  2  3  4  5  6  7  8  9
2  3  4  5  6  7  8  9  1
样例输出
1 4 7
2 5 8
3 6 9

2 5 8
3 6 9
4 7 1


注:此题为:南阳oj 题目29 求转置矩阵问题


说明:转置就是对二维数组位置的调换


已AC源代码:

 
#include<stdio.h>
int b[3][3];
int main()
{
	void ZZ(int a[][3]);
	int a[3][3];
	int *p;
    int i,j,T;
    scanf("%d",&T);
    while(T--)
    { 
    for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
            scanf("%d",&a[i][j]);
		}
	}
	ZZ(a);
	for(p=b[0];p<b[0]+9;p++)
	{
		if(p-b[0]!=0&&(p-b[0])%3==0)
		    printf("\n");
		printf("%d ",*p);
	}
	printf("\n\n");
	} 
	return 0;
}

void ZZ( int (*p)[3])
{
    int i,j,t;
    int (*p1)[3];
	p1=b; 
    for(i=0;i<3;i++)
    for(j=0;j<3;j++)
    {
	    *(*(p1+j)+i)=*(*(p+i)+j);
    }
}        


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值