Wikioi 天梯 最大数最小数(1201)

输入n个数,n<=100,找到其中最小的数和最大的数

第一行一个整数n

接下来一行n个整数,每个整数不超过231 -1

最小和最大的数

4

1 2 3 4

1 4



本题作为入门级题目主要考察对基本语句的使用和基本思路方法,顺便介绍了求最大最小值的方法。

用到的基本语句:赋值、输入输出、循环、条件;

用到的基本逻辑结构:循环结构,条件选择结构……(这东西都扯上了)-_-''

算法描述:

我用的是简单的O(n)方法。首先维护两个数,当前的最大(max)和最小值(min)。对于n个数,每读入一个数就进行判断,判断其是否大于当前最大值,或小于当前最小值。(为了保证第一次能正常更新,需要将max:=INF,min:=-INF)若是,则更新最大或最小值。显而易见,一旦出现更小的值或更大的值,算法都可以保证将其计入已知极值。这样,当输入结束时,max和min就是当前的最大和最小值。


Program max_min;
Var
	max,min,n,a,i:longint;
	
Begin
	readln(n);
	max:=-maxlongint;
	min:=maxlongint;
	for i:=1 to n do
		begin
			read(a);
			if a>max then max:=a;
			if a<min then min:=a;
		end;
	writeln(min,' ',max);
End.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值