任務描述
本關任務:有乙個包含10個元素的陣列,從鍵盤輸入n
的值,及前n
個元素的值,要求:程式設計實現尋找陣列中最小值和最大值。
注意:n
的值為不超過10
的正整數,否則輸出input error!
如:從鍵盤輸入n
的值為10
,各元素的值分別為31、94、55、83、67、72、29、12、88、56
則輸出最大值:94
最小值:12
如何求出最大值、最小值
求陣列的最大值,是不是很像打擂台呢?
對於一群人我們不知道誰最厲害,所以我們準備乙個擂台,並挑選第乙個人為擂主(max
),擂台下的人不斷的(迴圈)來挑戰擂主,如果贏了那挑戰者就是擂主,之前的擂主就**了,直到沒有挑戰者了,那最後乙個擂主就是最厲害的那個了。
求陣列的最小值與求最大值類似。
程式設計要求
根據提示,在右側編輯器補充**,計算並輸出陣列的最小值和最大值。
測試說明
平台會對你編寫的**進行測試:
測試輸入:
5
4
91
51
2
32
;
預期輸出:
最大值:91
最小值:2
測試輸入:
6
5
1
151
12
22
100
預期輸出:
最大值:151
最小值:1
開始你的任務吧,祝你成功!
using system;using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace ch705
int a = new int[n];
for (int i = 0; i < n; ++i)
int max = -1, min = 1000000;
for(int i = 0; i < n; ++ i)
console.writeline("最大值:", max);
console.writeline("最小值:", min);
}catch(exception e)
/*******end********/}}
}
求陣列中的最大值和最小值
方法1 暴力方法 遍歷一遍陣列,比較2 n次求出最大值和最小值 方法2 改進方法 破壞了原陣列 遍歷一遍陣列使得下標為偶數的元素較下標為奇數的元素大,再分別求出最大值和最小值 比較次數為3 n 2次 方法3 改進方法 不破壞原陣列 遍歷一遍陣列將相鄰元素中較大值和nmax比較,將較小值和nmin比較...
求陣列的最大值和最小值
求陣列的最大最小值,可以遍歷一遍陣列,然後分別記錄最大值和最小值,這種方法需要的比較次數為2n次。如果想要減少比較次數,可以採用的方法是遍歷陣列,然後比較相鄰元素,把相鄰元素的較大值放在後面,較小的放在前面。在從較大值中選取最大值即為整個陣列的最大值,從較小值中選取最小值即為整個陣列的最小值。這時,...
求陣列的最大值最小值
演算法陣列中的最大值和最小值 方法1 遍歷兩次求出最大值最小值 時間複雜度n 2 方法2 相鄰兩個數分為一組比較,大的放在偶數字,小的放到奇數字,然後在偶數字上找到最大值,在奇數字上找到最小值n 1.5 方法3 定義兩個變數max,min值,相鄰兩個數分為一組,比較出最大值和最小值,最大值和max比...