Board logo

標題: 反轉(使用遞迴) [打印本頁]

作者: 李泳霖    時間: 2023-5-11 20:35     標題: 反轉(使用遞迴)

  1. #include <stdio.h>
  2. #include <string.h>

  3. void print(int arr[], int n)
  4. {
  5.     int i;
  6.     for ( i = 0; i <n; i++) {
  7.         printf("%d ", arr[i]);
  8.     }
  9. }

  10. // 反轉數組元素的函數
  11. void reverse(int arr[], int *out, int n)
  12. {
  13.     if (n<0) {
  14.         return;
  15.     }
  16.     out[7-n]=arr[n];
  17.     reverse(arr, out, n-1);
  18. }

  19. int main(void)
  20. {
  21.     int arr[] = { 35, 23, 17, 2, 5,11,20,1 };
  22.     int n = sizeof(arr)/sizeof(arr[0]);
  23.    //printf("%d",sizeof(arr));//sizeof-->取得資料型態的大小
  24.     int *dynArr = malloc( n * sizeof(int) );//動態指定陣列大小
  25.     reverse(arr, dynArr, n-1);
  26.     print(dynArr, n);
  27.     free(dynArr);//釋放記憶體
  28.     return 0;
  29. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2