任务描述
本关任务:有一个包含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 { class Program { static void Main(string[] args) { /******begin*******/ try { int n = Convert.ToInt32(Console.ReadLine()); if (n < 0 || n > 10) { Console.WriteLine("input error!"); return ; } int[] a = new int[n]; for (int i = 0; i < n; ++i) { a[i] = Convert.ToInt32(Console.ReadLine()); } int max = -1, min = 1000000; for(int i = 0; i < n; ++ i) { if(a[i] > max) max = a[i]; if(a[i] < min) min = a[i]; } Console.WriteLine("最大值:{0}", max); Console.WriteLine("最小值:{0}", min); } catch(Exception e) { Console.WriteLine("input error!"); } /*******end********/ } } }