【名词解释】
在一行中输入两个整数
![]()
,分别表示矩阵的行数和列数。
接下来
行,每行输入
个整数
![]()
,用空格分隔。
输出
行
列,为矩阵的转置结果。每个元素之后使用一个空格。
2 3 1 2 3 4 5 6
1 4 2 5 3 6
原矩阵为:
其转置矩阵为:
1 4 7 8 9 10
7 8 9 10
原矩阵为 :
其转置矩阵为:
#include<stdio.h>
void My_scanf(int arr[10][10],int n, int m)
{
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d ",&arr[i][j]);
}
}
}
void Exchange_arr(int arr1[10][10],int arr2[10][10],int n, int m)
{
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
arr2[j][i]=arr1[i][j];
}
}
}
void arr_printf(int arr[10][10],int n, int m)
{
int i = 0;
int j = 0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
}
int main()
{
int n = 0;
int m = 0;
scanf("%d %d",&n,&m);
int arr1[10][10]={0};
int arr2[10][10]={0};
My_scanf(arr1,n,m);
Exchange_arr(arr1,arr2,n,m);
arr_printf(arr2,n,m);
return 0;
} int main()
{
int n = 0;
int m = 0;
int i = 0;
int j = 0;
int arr[10][10];
printf("请输入行和列:");
scanf("%d%d", &n, &m);
printf("请输入数据:");
for ( i = 0; i < n; i++)
{
for ( j = 0; j < m; j++)
{
scanf("%d",&arr[i][j]);
}
}
printf("输入前:\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("输入后:\n");
for ( i = 0; i < m; i++)
{
for ( j = 0; j < n; j++)
{
printf("%d ", arr[j][i]);
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main() {
int arr[10][10] = { 0 };
int rows = 0;
int cols = 0;
int i = 0;
int j = 0;
int tem = 0;
//输入矩阵size
scanf("%d %d", &rows, &cols);
//输入矩阵元素
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
scanf("%d", &arr[i][j]);
}
}
//输出矩阵
for (j = 0; j < cols; j++) { //列
for (i = 0; i < rows; i++) { //行
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main()
{
int n,m;
int arr[1000][1000];
int arr1[1000];
int count = 0;
scanf("%d %d",&n,&m);
for(int i = 0;i<n*m;i++)
{
scanf("%d",&arr1[i]);
}
//转置
for(int i = 0;i<n;i++)
{
for(int j = 0;j<m;j++)
{
arr[j][i] = arr1[count];
count++;
}
}
//打印
for(int i = 0;i<m;i++)
{
for(int j = 0;j<n;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
} #include <stdio.h>
int main()
{
int m,n;
scanf("%d %d",&n,&m);
int arr[n][m],ar[m][n];
int i;
for(i=0;i<n;i++)
{
int j;
for(j=0;j<m;j++)
{
scanf("%d ",arr[i]+j);
ar[j][i] = arr[i][j];
}
}
for(i=0;i<m;i++)
{
int j;
for(j=0;j<n;j++)
{
printf("%d ",ar[i][j]);
}
printf("\n");
}
return 0;
}