方阵转置 (15 分)
本题要求编写程序,将一个给定的 n×n 方阵转置(行列互换)后输出。
输入格式:
输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
输出格式:
输出转置后的n行n列矩阵,每个数占4位。
输入样例:
3
1 2 3
4 5 6
7 8 9
输出样例:
1 4 7
2 5 8
3 6 9
分析:本题主要对理解矩阵转置的含义,对于数组来说就是行下标和列下标交换,然后在输出即可。
代码实现:
#include<stdio.h>
int main()
{
int n = 0,i=0,j=0;
int a[50][50];
scanf("%d", &n);
for ( i = 0;i < n;i++)
{
for ( j = 0;j < n;j++)
{
scanf("%d", &a[i][j]);
}
}
for ( j = 0;j < n;j++)
{
for (i = 0;i < n;i++)
{
if (i < n - 1)//对输出格式进行限制
printf("%4d", a[i][j]);
else if (i == n - 1)
printf("%4d\n", a[i][j]);
else if (i == n - 1 && j == n - 1)
printf("%4d", a[i][j]);
}
}
return 0;
}