**输入提示:"please input n:"
**输入格式要求:"%d"
**输出提示信息:"转置前:\n"
**输出格式要求:"%-4d" (每行末要有回车)
**输出提示信息:"转置后:\n"
**输出格式要求:"%-4d" (每行末要有回车)
程序运行结果如下:
please input n:5
转置前:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
转置后:
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
#include<stdio.h>
int main()
{
int n, i, j;
printf("please input n:");
scanf("%d", &n);
int arr1[n][n], arr2[n][n];
printf("转置前:\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
arr1[i][j] = n * i + j + 1;
}
}
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%-4d", arr1[i][j]);
}
printf("\n");
}
printf("转置后:\n");
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
arr2[i][j] = arr1[j][i];
}
}
for(i = 0; i < n; i++)
{
for(j = 0; j < n; j++)
{
printf("%-4d", arr2[i][j]);
}
printf("\n");
}
return 0;
}