1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #include <stdio.h>
- #include <stdlib.h>
- /* 样例输入
- 3 4
- -1 3 6 3
- 7 7 9 1
- 10 3 4 6
- 输出旋转后的矩阵
- */
- //创建行列式
- int **arrInit(int m, int n);
- // 释放行列式
- void arrClose(int m, int n, int **pInt);
- // 旋转90º * 3 矩阵
- int main() {
- int m, n;
- scanf("%d %d", &m, &n);
- int **l = arrInit(m, n);
- for (int i = 0; i < n; ++i) {
- for (int j = m - 1; j >= 0; --j) {
- printf("%d", l[j][i]);
- if (j) printf(" ");
- }
- printf("\n");
- }
- arrClose(m, n, l);
- return 0;
- }
- void arrClose(int m, int n, int **pInt) {
- for (int i = 0; i < m; ++i) {
- free(pInt[i]);
- }
- free(pInt);
- }
- int **arrInit(int m, int n) {
- int **l;
- l = (int **) malloc(m * sizeof(int *));
- for (int i = 0; i < m; i++) {
- l[i] = (int *) malloc(n * sizeof(int));
- for (int j = 0; j < n; ++j) {
- scanf("%d", &l[i][j]);
- }
- }
- return l;
- }
|