#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 |
代码分析
-
输入一组整数的个数 n ;
-
设置一个变量 mini 存放最小的数,初值赋值为 1000000 ;
-
在循环中做以下操作:
- 读入一个整数 a ;
- 判断这个整数 a 是否小于 mini ,如果是,就将 a 的值存放到 mini 中;
-
最后输出最小数 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) }}
相关
在以下作业中: