矩阵转置

题目描述:

输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。

解题思路:

注意多组输入与输出格式的控制。

n乘n矩阵很好办,直接利用转置后数据的关系:a[i][j]=a[j][i]即可。

 1 #include<stdio.h>
 2 #define maxx 101
 3 int a[maxx][maxx];
 4 int main()
 5 {
 6     int i,j,k;
 7     int n;//输入n阶矩阵
 8     while(scanf("%d",&n)!=EOF)//多组数据
 9     {
10         for(i=0; i<n; i++)
11         {
12             for(j=0; j<n; j++)
13                 scanf("%d",&a[i][j]);
14         }
15         //矩阵转置的处理,实际上只要输出的时候改变输出即可。
16         for(i=0; i<n; i++)
17         {
18             for(j=0; j<n; j++) //输出时要注意格式的控制,每输出1行换行,每输出一个数字加一个空格           {
19             {
20                 printf("%d",a[j][i]);
21                 if(j==n-1)printf("\n");
22                 else printf(" ");
23             }
24         }
25     }
26     return 0;
27 
28 }

 

posted @ 2018-01-16 15:00  -DP-  阅读(290)  评论(0编辑  收藏  举报