马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 匿名 于 2021-12-14 18:11 编辑
- #include<stdio.h>
- int M(int a[5][3],int *p);
- int main(void)
- {int a[5][3],i,j,b[3][5],*p;
- p=b[0];
- printf("输入一个二维数组a[5][3]:\n");
- for(i=0;i<5;i++)
- {printf("第%d行:",i+1);
- for(j=0;j<3;j++)
- scanf("%d",&a[i][j]);
- printf("\n");}
- M(a,p);
- printf("转置后的数组:\n");
- for(i=0;i<3;i++)
- {for(j=0;j<5;j++)
- printf("%d ",b[i][j]);
- printf("\n");}}
- int M(int a[5][3],int *p)
- {int i,j;
- for(i=0;i<3;i++)
- {for(j=0;j<5;j++)
- {*p=a[j][i];
- p++;}}
- return 0;}
复制代码
- #include <stdio.h>
- void transpose(int m, int n, int arr[m][n], int res[n][m]){
- for(int i = 0; i < n; i++)
- for(int j = 0; j < m; j++)
- res[i][j] = arr[j][i];
- }
- int main()
- {
- int m, n;
-
- scanf("%d%d", &m, &n);
- int arr[m][n], res[n][m];
- for(int i = 0; i < m; i++)
- for(int j = 0; j < n; j++)
- scanf("%d", &arr[i][j]);
- transpose(m, n, arr, res);
- for(int i = 0; i < n; i++){
- for(int j = 0; j < m; j++)
- printf("%2d ", res[i][j]);
- printf("\n");}
- return 0;
- }
复制代码
|