正在载入在线练习界面,本页内容可直接阅读…

AK CSP › NOIP 普及 2016 第一轮真题 › 第 24 题

NOIP 普及 2016 第一轮 第 24 题:读入序列并输出最大值、最小值与平均值

阅读程序 · 模拟与程序跟踪 · 难度 中等 · 答案 6,1,3

题目

```
#include <iostream>
using namespace std;
int main()
{
    int max, min, sum, count = 0;
    int tmp;
    cin >> tmp;
    if (tmp == 0)
        return 0;
    max = min = sum = tmp;
    count++;
    while (tmp != 0)
    {
        cin >> tmp;
        if (tmp != 0)
        {
            sum += tmp;
            count++;
            if (tmp > max)
                max = tmp;
            if (tmp < min)
                min = tmp;
        }
    }
    cout << max << "," << min << "," << sum / count << endl;
    return 0;
}
```
输入: 1 2 3 4 5 6 0 7
输出: _________
NOIP 普及 2016 第一轮 第 24 题 原题
原题扫描(页面加载后可直接在线作答)

本小题

阅读程序写结果:

答案

6,1,3

题解

考点定位

以 0 为结束标志的统计与整数除法。

解题过程

输入依次为 1、2、3、4、5、6、0、7。读到 0 后结束循环,0 不计入统计,后面的 7 也不会继续读取。

参与统计的是 1~6:最大值 6,最小值 1,总和 21,个数 6。最后输出 max、min、sum/count;21/6 是整数除法,结果为 3。

答案:6,1,3。

易错提醒

第三项是整数平均值,不是总和;终止标志不参与统计。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号