01 题目来源
http://noi.openjudge.cn/ch0105/06/
02 算法思路
⑴ 首先,假设第一个整数为最大值,保存在变量max中,假设第一个整数为最小值,保存在变量min中;
⑵ 其次,从第二个整数开始,到最后一个整数为止:如果当前整数小于min,则将min更新为当前整数,否则如果当前整数大于max,则将max更新为当前整数。
03 过程步骤
⑴ 定义变量:int类型的n、t、max、min,分别代表序列长度、每个整数、序列最大值、序列最小值;
⑵ 输入n、t的数值,此时t代表第一个整数,然后令max = t,min = t;
⑶ 利用for (int i = 2; i <= n; i++)循环处理如下:
* 输入当前整数并保存在t中;
* if (t < min) 则令min = t;
* else if (t > max) 则令max = t;
⑷ 输出max - min的数值。
04 程序代码
#include <iostream>
using namespace std;
int main()
{
int n;
int t;
int max;
int min;
cin >> n;
cin >> t;
max = t;
min = t;
for (int i = 2; i <= n; i++)
{
cin >> t;
if (t < min)
{
min = t;
}
else if (t > max)
{
max = t;
}
}
cout << max - min;
return 0;
}