1 条题解
-
0
求极差 题解
一、解题思路
- 首先输入整数的个数
a,确定要处理多少个数字。 - 读取第一个数字,用它初始化最大值和最小值(因为第一个数既是当前最大,也是当前最小)。
- 循环读取剩下的所有数字,每读一个数字就做两次判断:
- 如果这个数字比当前最大值大,就更新最大值;
- 如果这个数字比当前最小值小,就更新最小值。
- 最后用最大值 - 最小值,得到的结果就是极差,直接输出即可。
二、完整代码(变量名:a b c d,极简易懂)
#include <iostream> using namespace std; int main() { // a:数字的总个数 int a; cin >> a; // b:临时存储每次读入的数字 int b; cin >> b; // c:最大值,初始为第一个数 int c = b; // d:最小值,初始为第一个数 int d = b; // 循环读取剩下的 a-1 个数字 for(int i=1; i<a; i++) { cin >> b; // 更新最大值 if(b > c) c = b; // 更新最小值 if(b < d) d = b; } // 输出极差:最大值-最小值 cout << c - d; return 0; }三、变量说明
a:存储输入的数字总个数b:临时存放每次读取的数字c:记录所有数字中的最大值d:记录所有数字中的最小值
四、代码运行逻辑(样例演示)
输入:
6 4 1 5 1 4 1a=6,表示有6个数字;- 第一个数是4,所以
c=4(最大值),d=4(最小值); - 依次读入后续数字:
- 读1:1<4,更新
d=1; - 读5:5>4,更新
c=5; - 读1、4、1:都不改变最大/最小值;
- 读1:1<4,更新
- 最终
c-d=5-1=4,输出结果4。
总结
- 核心公式:极差 = 最大值 - 最小值
- 代码极简,仅用
a b c d四个变量,新手也能轻松看懂 - 遍历所有数字更新最大、最小值,是求极差的标准方法
- 首先输入整数的个数
- 1
信息
- ID
- 217
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 77
- 已通过
- 19
- 上传者
粤公网安备44195502000195号