204. 方阵对角线.c 761 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /* 样例输入
  4. 3
  5. 140 160 140
  6. 183 172 170
  7. 180 181 174
  8. 输出行列式对角线
  9. */
  10. void arrClose(int n, int **pInt);
  11. //创建行列式
  12. int **arrInit(int n) {
  13. int **l;
  14. l = (int **) malloc(n * sizeof(int *));
  15. for (int i = 0; i < n; i++) {
  16. l[i] = (int *) malloc(n * sizeof(int));
  17. for (int j = 0; j < n; ++j) {
  18. scanf("%d", &l[i][j]);
  19. }
  20. }
  21. return l;
  22. }
  23. // 输出行列式对角线
  24. int main() {
  25. int n = 0;
  26. scanf("%d", &n);
  27. int **l = arrInit(n);
  28. for (int i = 0; i < n; ++i) {
  29. printf("%d\n", l[i][i]);
  30. }
  31. arrClose(n, l);
  32. return 0;
  33. }
  34. void arrClose(int n, int **pInt) {
  35. for (int i = 0; i < n; ++i) {
  36. free(pInt[i]);
  37. }
  38. }