#C01L09P05. C01.L09.求最值.for运用之查找最小值.例题5

C01.L09.求最值.for运用之查找最小值.例题5

题目描述

输入 N 个整数,求其中最小值。

输入格式

第一行 1 个整数 N :范围在 [1,200]。

第二行 N 个整数:每个整数范围在 [0,1000000]。

输出格式

一个整数。

样例

4
3 6 1 9
1

我们已经掌握了求最大值的方法,那么最小值又该如何求解呢?

分析

参考最大值的求解方法我们可以引用一个新的变量 mini 用于存放最小数,将所有数据依次和 mini 比较,如果该数比 mini 小,则将该数据的值存放到 mini 中。

当所有的数据都比较完成后,mini 存放的数据就是最小数。

思考

那么 mini 的初值应该赋值为多少呢?

为保证能找出正确的最小数,mini 的初值最好比所有输入的数据大。

本题样例中的比较过程如下:

题目中输入的数据范围是[0,1000000],mini 的初值可以赋值为 1000000

循环次数 循环前 1 2 3 4
输入的数据(a) 3 6 1 9
比较过程

mini>a

mini=a

mini<a

mini>a

mini=a

mini<a
mini 1000000 3 3 1 1

代码分析

  1. 输入一组整数的个数 n ;

  2. 设置一个变量 mini 存放最小的数,初值赋值为 1000000 ;

  3. 在循环中做以下操作:

    • 读入一个整数 a ;
    • 判断这个整数 a 是否小于 mini ,如果是,就将 a 的值存放到 mini 中;
  4. 最后输出最小数 mini 。

完成程序

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	long long a,mini;
	mini = 填空(1) ;

	cin>>n; //输入整数的个数
	
	for(int i=1;i<=n;i++) //输入和比较整数 
	{
		cin>>a;
		if( 填空(2) )
			mini = 填空(3)
	}
	
	cout<<mini;

	return 0;
}

填空(1): {{ input(1) }}

填空(2): {{ input(2) }}

填空(3): {{ input(3) }}