文章

【GESP】C++一级练习 luogu-P1046, [NOIP2005 普及组] 陶陶摘苹果

GESP一级练习,多输入,基本分支条件语句练习,难度★☆☆☆☆。

luogu-P1421

题目要求

题目描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 $10$ 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 $30$ 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知 $10$ 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入格式

输入包括两行数据。第一行包含 $10$ 个 $100$ 到 $200$ 之间(包括 $100$ 和 $200$)的整数(以厘米为单位)分别表示 $10$ 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 $100$ 到 $120$ 之间(包含 $100$ 和 $120$)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出格式

输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

样例输入 #1

1
2
100 200 150 140 129 134 167 198 200 111
110

样例输出 #1

1
5

题目分析

本题目要求我们根据输入的苹果高度和陶陶能够达到的最大高度,计算并输出陶陶能够摘到的苹果数量。根据题目描述

  • 我们需要首先将陶陶能够达到的最大高度加上板凳的高度,得到陶陶实际能够达到的高度。
  • 然后,我们将每个苹果的高度与陶陶实际能够达到的高度进行比较,统计能够摘到的苹果数量。
  • 最后,我们输出能够摘到的苹果数量。

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
using namespace std;
int main() {
    // 初始化答案变量
    int ans = 0;
    // 定义10个苹果的高度变量
    int a, b, c, d, e, f, g, h, i, j;
    // 从输入流中读取10个苹果的高度
    cin >> a >> b >> c >> d >> e >> f >> g >> h >> i >> j;
    // 定义陶陶能够达到的最大高度变量
    int n;
    // 从输入流中读取陶陶能够达到的最大高度
    cin >> n;
    // 将陶陶能够达到的最大高度加上板凳的高度
    n += 30;
    // 检查每个苹果的高度是否在陶陶能够达到的范围内
    if (n >= a) {
        ans++;
    }
    if (n >= b) {
        ans++;
    }
    if (n >= c) {
        ans++;
    }
    if (n >= d) {
        ans++;
    }
    if (n >= e) {
        ans++;
    }
    if (n >= f) {
        ans++;
    }
    if (n >= g) {
        ans++;
    }
    if (n >= h) {
        ans++;
    }
    if (n >= i) {
        ans++;
    }
    if (n >= j) {
        ans++;
    }
    // 输出能够摘到的苹果的数目
    cout << ans;
    return 0;
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

本文由作者按照 CC BY 4.0 进行授权