1.題目已提供程式碼片段,執行結果如參考畫面,程式碼有語法、邏輯或其他項目上的錯誤,請全數修正。
本題與上一題類似,函數傳遞陣列與傳值呼叫。
#include <stdio.h>
#include <stdlib.h>
int Max(int *, int n);
int main ( )
{
int arr[5];
int maximum, i;
for (i=0; i<5; i++) {
printf("請輸入arr[%d]元素值: ", i);
scanf("%d", &arr[i]);
}
printf("\n陣列的元素值分別如下:\n");
for (i=0; i<5; i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
maximum=Max(arr, 5);
printf("\n此陣列的最大值為%d\n", maximum);
system("PAUSE");
return 0;
}
int Max(int *p, int n)
{
int i, maxi_value=p;
for (i=0; i<=n; i++) {
if (maxi_value > *(p+i)) {
maxi_value=*(p+i);
}
}
return maxi_value;
}
範例一 100 200 300 400 500 範例二 100 40 30 20 10 範例三 1000 2000 3000 1500 0
範例一 請輸入arr[0]元素值: 100 請輸入arr[1]元素值: 200 請輸入arr[2]元素值: 300 請輸入arr[3]元素值: 400 請輸入arr[4]元素值: 500 陣列的元素值分別如下: arr[0]=100 arr[1]=200 arr[2]=300 arr[3]=400 arr[4]=500 此陣列的最大值為500 範例二 請輸入arr[0]元素值: 100 請輸入arr[1]元素值: 40 請輸入arr[2]元素值: 30 請輸入arr[3]元素值: 20 請輸入arr[4]元素值: 10 陣列的元素值分別如下: arr[0]=100 arr[1]=40 arr[2]=30 arr[3]=20 arr[4]=10 此陣列的最大值為100 範例三 請輸入arr[0]元素值: 1000 請輸入arr[1]元素值: 2000 請輸入arr[2]元素值: 3000 請輸入arr[3]元素值: 1500 請輸入arr[4]元素值: 0 陣列的元素值分別如下: arr[0]=1000 arr[1]=2000 arr[2]=3000 arr[3]=1500 arr[4]=0 此陣列的最大值為3000
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |