第3关:求数组中的最大值和最小值

任务描述

本关任务:有一个包含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********/

        }
    }
}

  

posted @ 2020-03-09 22:38  青衫客36  阅读(1277)  评论(0编辑  收藏  举报