题目描述:
输入一个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(" "); 22 else printf(" "); 23 } 24 } 25 } 26 return 0; 27 28 }