zoukankan      html  css  js  c++  java
  • nyoj29-求置转换问题

    求转置矩阵问题

    时间限制: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

    下面是我写的代码,能通过。

    #include<stdio.h>
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	while(n--)
    	{
    		int a[3][3],i,j,t;
    		scanf("%d%d%d%d%d%d%d%d%d",&a[0][0],&a[0][1],&a[0][2],&a[1][0],&a[1][1],&a[1][2],&a[2][0],&a[2][1],&a[2][2]);
    		for(i=0;i<2;i++)
    		for(j=0;j<3;j++)
    		{ if(i==1&&j==0)
    		   continue;
    		   else
    			{
    			t=a[i][j];
    			a[i][j]=a[j][i];
    			a[j][i]=t;
    		}
    		}
    		for(i=0;i<3;i++)
    		{
    		for(j=0;j<3;j++)
    		
    		 printf("%d ",a[i][j]);
    		 printf("
    ");}
    		 printf("
    ");
    	}
     } 
    下面是最优程序,大家可以参考下
     
    #include<iostream>
    using namespace std;
    int main()
    {
    	int num,a,b,c,d,e,f,g,h,i;
    	cin>>num;
    	while(num--)
    	{
    		cin>>a>>b>>c>>d>>e>>f>>g>>h>>i;
    		cout<<a<<" "<<d<<" "<<g<<endl<<b<<" "<<e<<" "<<h<<endl<<c<<" "<<f<<" "<<i<<endl<<endl;
    	}
    }        

  • 相关阅读:
    Java高级类特性(二)
    Java高级类特性(一)
    java面向对象
    Java基本语法
    Java语言的简介
    【ibatis】IBatis的标签(三)
    【Spring】详解spring事务属性
    【ibatis】IBatis返回map类型数据
    【ibatis】IBatis的动态SQL的写法
    【ibatis】入门讲例
  • 原文地址:https://www.cnblogs.com/aerer/p/9931137.html
Copyright © 2011-2022 走看看