第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********/
}
}
}

浙公网安备 33010602011771号