查詢最大值,最小值,以及第二大值

2021-08-28 17:26:38 字數 797 閱讀 9068

#define nr 10 // 陣列元素個數

/從主函式開始/

int main(int argc, char **argv)

}/* 檢查是否獲取到nr個資料 */

if (i != nr)

else }

/* 查詢最大值和最小值 */

int max, min;

max = ar[0]; // 假定第乙個數為最大值

min = ar[0]; // 同時假定也第乙個數為最大值

/* 從第二個數開始比較查詢最值 */

for (i = 1; i < nr; i++)

if (ar[i] < min) // 最小值,不能使用else if,否則會跳過比較 }

fprintf(stdout, "最大值為:%d 最小值為:%d\n", max, min);

/* 接下來:查詢第二大值 */

int second;

/* 先獲取前兩個數的第一大和第二大值 */

ar[0] > ar[1] ? (max = ar[0], second = ar[1]): \

(max = ar[1], second = ar[0]);

/* 從第2個數開始比較查詢 */

for (i = 2; i < nr; i++)

else if (second < ar[i]) // 比最大值小的數再看看是否大於第二大值 }

fprintf(stdout, "第二大值為:%d\n", second);

return 0;

求陣列的最大值 第二大值

注意 陣列的最大值同時存在多個的情況!1 對比findmax2和findmax22兩個函式的處理,細微差別導致結果不同!2 當陣列作為函式形參時,如果是常量陣列,則最好新增const 3 sizeof arr sizeof int 4 隨機數生成 srand unsigned time null r...

C語言實現陣列中查詢最大值 最小值和第二大值

檔名 陣列查詢特定值.c 功能描述 查詢陣列中的最大值,最小值,第二大值 include define nr 10 陣列元素個數 從主函式開始 intmain int argc,char argv 檢查是否獲取到nr個資料 if i nr else 查詢最大值和最小值 int max,min max...

最大值 最小值

求最大最小的時候有點小技巧,就是我們兩個兩個的比較,把大個跟當前最大比較,小的跟當前最小的比較,這樣就會節約一點比較時間,有原來的2 n到3 n 2。include include 得到最大最小值 int getmaxmin int ndata,int nlen,int pnmax,int pnmi...