返回列表 發帖

408 指標

本帖最後由 李泳霖 於 2022-6-2 17:28 編輯

設計說明:

1. 修改程式碼片段中的程式語法、邏輯上的錯誤,執行結果如範例圖。
  1. //題目: 指標與函數的關係,以輸入函數讀取資料,
  2. //然後找出陣列的最大值在何處

  3. /* 輸出結果的樣本如下所示:

  4. 請輸入arr[0]元素值: 100
  5. 請輸入arr[1]元素值: 200
  6. 請輸入arr[2]元素值: 300
  7. 請輸入arr[3]元素值: 400
  8. 請輸入arr[4]元素值: 500

  9. 陣列的元素值分別如下:
  10. arr[0]=100
  11. arr[1]=200
  12. arr[2]=300
  13. arr[3]=400
  14. arr[4]=500

  15. 此陣列的最大值為500
  16. */

  17. /* 若下一程式執行時與上述的輸出結果有異時,請加以更正之 */

  18. #include <stdio.h>
  19. #include <stdlib.h>

  20. int Max(int *, int n);

  21. int main ( )
  22. {
  23.              int arr[5];
  24.         int maximum, i;
  25.        
  26.         for (i=0; i<5; i++) {
  27.                   printf("請輸入arr[%d]元素值: ", i);
  28.                   scanf("%d", &arr[i]);
  29.         }
  30.        
  31.         printf("\n陣列的元素值分別如下:\n");
  32.         for (i=0; i<5; i++) {
  33.                   printf("arr[%d]=%d\n", i, arr[i]);
  34.         }
  35.        
  36.         maximum=Max(arr, 5);
  37.         printf("\n此陣列的最大值為%d\n", maximum);
  38.        
  39.         system("PAUSE");
  40.         return 0;
  41. }

  42. int Max(int *p, int n)
  43. {
  44.             int i, maxi_value=p;
  45.             for (i=0; i<=n; i++) {
  46.                  if (maxi_value > *(p+i)) {
  47.                         maxi_value=*(p+i);
  48.                  }
  49.         }
  50.         return maxi_value;
  51. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表